Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: totaljs/framework

v3.4.5

10 Jul 09:05
@petersirka petersirka

Choose a tag to compare

Fixes:

  • fixed: a problem with persistent images
Assets 2
Loading

v3.4.4

07 Jul 18:29
@petersirka petersirka

Choose a tag to compare

News:

  • added: schema options $.successful(function(response) {})
  • added: options.reconnectserver {Boolean} to WEBSOCKETCLIENT
  • added: req.snapshot(callback(err, request_body))
  • added: a new command CMD('reload_preferences')
  • added: a new FILESTORAGE mechanism based on UID
  • added: sql extension to U.getContentType()
  • added: F.stats.performance.usage which contains percentual usage of the thread

Updates:

  • updated: SchemaOptions method $.response([index/operation_name]), e.g. $.response('workflow.NAME')
  • updated: snapshot startscript.js.json contains tabs instead of spaces
  • updated: DatabaseBuilder.rule(rule, [param]), supports string declaration of filter function
  • updated: URL validation

Fixes:

  • fixed: cleaning of NoSQL embedded databases
  • fixed: String.parseCSV(), now supports multiline strings
  • fixed: a bug when closing of websocket
  • fixed: DatabaseBuilder.search() method
  • fixed: Error in CLONE() method
  • fixed: schema.inherit() by adding schema.middleware() and schema.verify()
  • fixed: parsing messages in WebSocket
  • fixed: a problem in some commands pre-render in the view compiler
  • fixed: parsing of query strings
Loading

v3.4.3

11 May 07:51
@petersirka petersirka

Choose a tag to compare

News:

  • added: HASH(value, [type]) for creating hash like in jComponent
  • added: SchemaOptions.repo as alias to SchemaInstance.model.$$repository
  • added: a new type CONVERT syntax to schema.define() (more in docs)
  • added: SchemaEntity.verify(name, function($), [cache]) for async verification of values
  • added: TEMP variable as a new global variable (it's cleaned every 7 minutes)
  • added: CONF.allow_persistent_images: true which allows to reuse resized images in temp directory
  • added: req.filecache(callback) as alias for F.exists()
  • added: own QueryParser
  • added: RESTBuilderInstance.convert('name:String,age:Number') method
  • added: RESTBuilder.upgrade(fn(restbuilder)) for upgrading of RESTBuilder
  • added: RESTBuilder parses Total.js Errors in responses as Error
  • added: String.prototype.env() replaces all values in the form [key] for CONF.key
  • added: WebSocket supports a new type - raw buffer
  • added: Number.fixed(decimals)

Updates:

  • updated: websocket.send2(message, comparer, replacer, [params]) by adding params argument for comparer function
  • updated: Websocket.encodedecode can enable/disable easily encoding of messages
  • updated: bundling skips all bundles with -bk.bundle in filename
  • updated: bundle filenames are displayed in console
  • updated: UPDATE() method by adding noarchive argument
  • updated: TEST() method supports [subdomain] keyword and METHOD url in URL address
  • updated: MODIFY([filename], fn) by adding filename argument
  • updated: background of schedulers by @fgnm
  • updated: U.download() by adding param argument
  • updated: U.request() by adding param argument
  • updated: schema.cl(name, [value]) method by adding value argument for replacing of existing code-list
  • updated: Tangular version to v4.0.0

Improvements:

  • improved: filename in modificators (now filenames contain relative paths)
  • improved: performance of U.request() (around +10%)
  • improved: performance of U.download() (around +10%)
  • improved: performance of RESTBuilder
  • improved: CSS minifier by compressing single hex color from e.g. #000000 to #000

Fixes:

  • fixed: localization in totaljs executable script
  • fixed: phone validation
  • fixed: DOWNLOAD()
  • fixed: Number.VAT() by Tomas Novak
  • fixed: debugging mode in Node.js v14
  • fixed: allow_compile_html in static files
  • fixed: ROUTE() method, there was a problem with spaces GET /*
  • fixed: ACTION() with json output
  • fixed: controller in $ACTION() with used get and query actions
  • fixed: PATCH method in $ACTION()
  • fixed: schema.allow() in PATCH method
  • fixed: image resizing in debug-mode
Loading

v3.4.1

11 Mar 13:11
@petersirka petersirka

Choose a tag to compare

News:

  • added: SchemaOptions.parent returns a parent model
  • added: Tangular template engine (experimental)
  • added: String.makeid() for creating of unique identifier from string
  • added: a new property called message.ua to FLOWSTREAM()

Updates:

  • updated: HttpFile.fs() by adding id argument for updating of existing file
  • updated: default value for allow_ssc_validation to true

Fixes:

  • fixed: String.parseDate(format) with defined format
  • fixed: inheriting of controllers between schemas
  • fixed: MailMessage.attachments()
  • fixed: calling of F.snapshotstats in cache recycle
  • fixed: controller.success()
  • fixed: removing of unused files when a bundle is extracting
  • fixed: a processor function in F.backup()

Improvements:

  • improved: Date.format()
  • improved: Total.js translate (supports ErrorBuilder and DBMS)
Loading

v3.4.0

11 Feb 07:33
@petersirka petersirka

Choose a tag to compare

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 the config 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 in FLOWSTREAM
  • added: DatabaseBuilder.autofill() from DBMS
  • added: HttpFile.extension property
  • added: HttpFile.size property alias to HttpFile.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 and PATH.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() and AUTH()
  • 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 for U.encryptUID()
  • added: String.decryptUID() as alias for U.decryptUID()

Updates:

  • updated: WEBSOCKET() supports +, - and 🔒 as authorization flags
  • updated: LOAD() supports service type
  • updated: cluster watches restart or restart_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 adding checkmeta argument
  • updated: $.done([user_instance]) method in AUTH(), added a new argument called user_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 Schema workflows, transformations and operations
  • fixed: NOSQL() joins with absolute paths
  • fixed: TABLE() joins with absolute paths
  • fixed: (random) subtype in config files
  • fixed: (response) phrase in ROUTE() for multiple OPERATIONS
  • 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 for themes
  • 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 copy required fields.
  • fixed: SUCCESS() serialization with SUCCESS() 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() and controller.done()
Loading

v3.3.2

12 Nov 14:41
@petersirka petersirka

Choose a tag to compare

Fixes:

  • fixed: default time zone (utc is default time zone)
Loading

v3.3.1

07 Nov 17:49
@petersirka petersirka

Choose a tag to compare

News:

  • added: RESTBuilder.callback() which performs .exec() automatically
  • added: FLOWSTREAM()

Fixes:

  • fixed: AUDIT() method
  • fixed: error handling in controller.invalid()
  • fixed: req.authorize()
  • fixed: CSS auto-vendor-prefixes, fixed opacity with !important
  • fixed: CONVERT() a problem with arrays
Loading

v3.3.0

30 Sep 07:14
@petersirka petersirka

Choose a tag to compare

News

  • added: NEWTASK(name, declaration) for creating preddefined TaskBuilder
  • added: TASK(name, taskname, callback, [controller/SchemaOptions/OperationOptions/ErrorBuilder]) for executing preddefined TaskBuilder
  • added: a new config key directory_tasks for TaskBuilder
  • added: a global alias MODIFY() for F.modify()
  • added: a global alias VIEWCOMPILE() for F.view_compile()
  • added: mail.type = 'html' can be html (default) or plain
  • added: $.headers into the SchemaOptions, OperationOptions and TaskBuilder
  • added: String.parseCSV([delimiter]) returns Object Array
  • added: String.parseUA([structured]) a simple user-agent parser
  • added: req.useragent([structured]) returns parsed User-Agent
  • added: a new config key default_crypto it can rewrite Total.js crypto mechanism (default: undefined)
  • 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
  • added: a new config key allow_workers_silent can enable/disable silent workers (default: false)
  • added: a new config sub-type called random, example: secret_key (random) : 10 and 10 means a length of value
  • added: a new command clear_dnscache for clearing DNS cache
  • added: commands INSTALL('command', 'command_name', function) for registering commands and CMD(name, [a], [b], [c], [d]) for executing commands
  • added: ENCRYPTREQ(req, val, [key], [strict]) to encrypt value according to the request meta data
  • added: DECRYPTREQ(req, val, [key]) to decrypt value according to the request meta data
  • added: controller.nocache()
  • added: controller.nocontent()
  • added: REPO as a global variable
  • added: FUNC as a global variable
  • added: MAIN as a global variable
  • added: DEF as a global variable for defining of behaviour for some operations (alternative to F)
  • added: PREF.set(name, [value]) (read+write) or PREF.propname (only read) for reading/writing a persistent preferences
  • added: F.onPrefSave = function(obj) to write preferences
  • added: F.onPrefLoad = function(next(obj)) to read preferences
  • added: RESTBuilder.url(url) which returns a new instance of RESTBuilder for chaining
  • added: restbuilder.keepalive() enables a keepalive for RESTBuilder instance
  • added: SESSION() management, more in docs
  • added: controller.sessionid with ID of SESSION()
  • added: AUTH() supports a new auth declaration with $ as AuthOptions like SchemaOptions or OperationOptions
  • added: AuthOptions to prototypes
  • added: ErrorBuilder.length property (alias for `instance.items.length)
  • added: Schemas prepare supports req argument
  • added: DEF.currencies.eur = function(val) {} registers a currency formatter
  • added: DEF.helpers registers a new view engine helper (F.helpers is alias for for this object)
  • added: DEF.validators is alias for for F.validators
  • added: usage of currency formatter Number.currency(currency)
  • added: new schema type Number2 with default value is null, not zero 0
  • added: @{json2(model, elementID, key1, key2, key3)} can serialize data with keys defined into the <script type="application/json">
  • added: schemas supports PATCH and .setPatch(), only specified field are processed
  • added: SchemaOptions supports $.keys for PATCH method
  • added: schema.cl(name) ("cl" means codelist) returns {Array} a list of values from defined enum/keyvalue
  • added: schema.props() returns {Object} meta info about all defined properties
  • added: SchemaOptions, OperationOptions and TaskOptions supports $.req and $.res properties
  • added: AUDIT(name, ,ドル [type], message) a method for audit logs
  • added: obsolete message to older declaration of middleware, schemas and operations
  • added: U.diffarr(prop, arr_A, arr_B) for comparing of two arrays
  • added: DIFFARR(prop, arr_A, arr_B) is a global alias for U.diffarr()
  • added: global.REQUIRE() for local modules within app directory
  • added: global.isWORKER variable which contains true (when the process is executed as a worker) or false
  • added: ACTION(url, [data], callback) can evaluate a route without request creation
  • added: ROUTE('🔒 METHOD URL'), it means that 🔒 adds authorized flag
  • added: ROUTE('+METHOD URL'), it means that ++ or + adds authorized flag
  • added: ROUTE('-METHOD URL'), it means that -- or - adds authorized flag
  • added: SchemaOptions, OperationOptions, TaskOptions supports filtered query arguments via $.filter
  • added: controller.done([value])
  • added: SITEMAP() as alias to F.sitemap()
  • added: config key allow_localize enables a localization for all HTML files
  • added: controller.breadcrumb returns all sitemap items
  • added: PAUSESERVER(name, pause) pauses web server (alias for F.wait())
  • added: PROXY(endpoint, hostname, [copypath], [before_fn(uri,req,res)], [after_fn(res)]) makes a direct proxy from webserver
  • added: schema.middleware(function(,ドル next)) for creating simple middlewares for Schema operations
  • added: FILE404(fn(req, res)) performs a simple fallback for non-existing files
  • added: $PATCH(schema, model, [options], callback, [controller]) method
  • added: .env parser to process.env
  • added: String.parseENV() for parsing .env syntax
  • added: $.noop() for custom responses
  • added: $ACTION(schemaroute, [model], callback, [controller]) evaluates schema
  • added: process.send('total:restart') performs a restart of app when the app is in debug mode
  • added: NOSQLREADER(filename) for reading different files of NoSQL embedded databases
  • added: TABLEREADER(filename) for reading different files of Table embedded databases
  • added: Mail.use() an alias for F.useSMTP()
  • added: F.onAudit(name, data) delegate for handling audit logs
  • added: Components support a new features called Parts, more in docs

Updates

  • updated: $.invalid() without arguments can return a function function(err)
  • updated: Mail unsubscribe appends new header which enables unsubscribe in e.g. iOS
  • updated: MODIFY, handler contains a new argument controller
  • updated: headers argument in controller.proxy supports flags: [] for REQEUST method
  • updated: .filefs() and .filenosql() supports download with true or with (name, type) => 'new_name' (filename will be read from NoSQL binary file)
  • 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.arg(obj, [encode], [def]) added encode (true, json, html) and def arguments
  • updated: AUTH(req, res, flags, next) and next function can handle callback(err, user)
  • updated: REQUEST() supports keepalive flag
  • updated: bundles mechanism supports merging files --filename between bundles files
  • updated: String.hash(true) returns unsigned int
  • updated: CONF:default_image_converter supports magick for new version of ImageMagick
  • updated: CONF.default_image_consumption can contain ZERO value which means disabled optimialization of CPU/memory consumption
  • updated: CONF.default_image_consumption has changed a default value to 0
  • updated: U.parseXML(str, [replace]) and String.parseXML([replace]) contains a new argument called replace
  • updated: LOAD() added a callback function
  • updated: components support encoding="utf8" attribute for <file tag (default: base64)
  • updated: EventEmitter2 supports a new argument obj, example: U.EventEmitter2(obj) or supports .extend method: U.EventEmitter2.extend(proto)
  • updated: UID() generates new types of UID with 100% backward compatibility
  • updated: FILESTORAGE() now it works in cluster mode

Fixes

  • fixed: schemas validation
  • fixed: error handling in dynamic schemas
  • fixed: CSS variables
  • fixed: CSS variables with additional !important clause
  • fixed: controller.proxy() with Gzip/Deflate compression
  • fixed: HTTP status code with 204 in REQUEST()
  • fixed: cookies in WEBSOCKETCLIENT
  • fixed: REQUEST() with json flag and with null and '' value
  • fixed: rendering components in layout
  • fixed: resources, there was a bug with reading of value from default.resource
  • fixed: too many open files in res.image()
  • fixed: too many open files in res.filefs()
  • fixed: Schema Boolean parser
  • fixed: renamed F.stats.request.path to F.stats.request.patch
  • fixed: SMTP sender (a problem with auth mechanism with some mail servers)
  • fixed: filter in F.backup()
  • fixed: paths for stored directories in F.backup()
  • fixed: uploading files
  • fixed: U.getExtension() by @molda

Improvements

  • improved Schemas and error handling
  • improved res.filefs() method for nonexistent files

Others

  • renamed: *.routeScript to *.public_js
  • renamed: *.routeStyle to *.public_css
  • renamed: *.routeFont to *.public_font
  • renamed: *.routeVideo to *.public_video
  • renamed: *.routeImage to *.public_image
  • renamed: *.routeDownload to *.public_download
  • renamed: *.routeStatic to *.public
  • renamed: controller.viewCompile() to controller.view_compile()
  • renamed: event cache-set to cache_set:
  • renamed: event controller-render-meta to controller_render_meta
  • renamed: event request-end to request_end
  • renamed: event websocket-begin to websocket_begin
  • renamed: event websocket-end to websocket_end
  • renamed: event request-begin to request_begin
  • renamed: event upload-begin to upload_begin
  • renamed: event upload-end to upload_end
  • renamed: event cache-expire to cache_expired
  • removed: backward compatibility with older version of Node.js < 10
  • removed: F.hash(), alte...
Read more
Loading

v3.2.0

13 Feb 20:54
@petersirka petersirka
ff3ec3d
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

News:

  • added: WORKER() alias to F.worker()
  • added: WORKER2() alias to F.worker2()
  • added: F.cluster.https()
  • added: TaskBuilder.done2([send_value]) returns function with wrapped .done()
  • added: TaskBuilder.success2([send_value]) returns function with wrapped .success()
  • added: TaskBuilder.next2(name) returns function with wrapped .next()
  • added: new RESTBuilder aliases .DELETE(), .PUT(), .POST(), .PATCH() and .GET()`
  • added: schema.before(key, (value, model, index) => value) is a simple and new alternative to schema.setPrepare()
  • added: SchemaInstance.$parent returns a parent schema (if the schema is nested schema)
  • added: SchemaOptions.redirect(url) can perform a redirect from the schema
  • added: OperationOptions.redirect(url) can perform a redirect from the operation
  • added: .ics extension as acceptable file for the web server

Updates:

  • updated: F.worker2() returns entire stdout buffer in the callback(err, buffer)
  • updated: $options() by adding disabled key
  • updated: String.ROOT() by adding a support for jComponent AJAX() calls
  • updated: RESTBuilder.method(method, [data]) added data argument
  • updated: String.parseDate([format]) added format argument
  • updated: SMTP settings contain heloid as heloidentifier (manually can be defined HELO or EHLO command)
  • updated: SMTP hostname is computed from email if SMTP is not specified

Fixes:

  • fixed: critical bug with security + improved security
  • fixed: system routing
  • fixed: NoSQL sorting, solved a strange problem
  • fixed: U.request() with GET method by @khaledkhalil94 (it doesn't send JSON data if data is null/undefined)
  • fixed: F.wait() in WebSocket
  • fixed: String.capitalize(true)
  • fixed: REQUEST() uploading of additional multipart/form-data (removed encoding)
  • fixed: view engine conditions defined in <script>
  • fixed: auto-redirects in U.download()
  • fixed: image streams resizing
  • fixed: @{'%config_key'} a problem with rendering a value with '
Loading

v3.1.0

07 Dec 10:27
@petersirka petersirka
fb18dc3
This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
GPG key ID: 4AEE18F83AFDEB23
Expired
Verified
Learn about vigilant mode.

Choose a tag to compare

NEWS:

  • added: CSS variables support default values border-radius: $radius || 10px
  • added: NoSQL storage .find(beg, end, [threads]) + .count(beg, end, [threads]) + '.scalar(beg, end, type, field, [threads])' with multiple thread support
  • added: U.reader()
  • added: bundles supports merging files between bundle and project, project file must start with e.g. --name.js
  • added: .bundlesignore support with similiar functionality like .gitignore
  • added: support for SameSite cookie attribute
  • added: RUN() for executing multiple Total.js operations
  • added: a new global alias CONF (it's a reference to config) for F.config
  • added: a new global alias FUNC (it's a reference to functions) for F.functions
  • added: DatabaseBuilder.arg(key, value) for adding an dynamic argument
  • added: NOSQL/TABLE modify supports !field as boolean toggle
  • added: NOSQL/TABLE modify supports a new type $age: 'js_code' with some JS code
  • added: NOSQL/TABLE update supports a new type 'js_code' with some JS code
  • added: a new config item default-restbuilder-timeout : 10000
  • added: a new config item default-cors : https://www.totaljs.com, https://www.componentator.com which allows originators for CORS() method
  • added: a new config item default-request-maxkeys : 33 for restricting query max. keys
  • added: a new config item logger : false which enables logging for Middleware, Schemas and Operations
  • added: a new config item bundling : shallow which enables shallow bundling (if bundle.json exists then the bundles won't be extracted)
  • added: SchemaOptions and OperationOptions supports $.cancel() method
  • added: CACHE(name, [value], [expire], [persistent]) alias for F.cache.get2() and F.cache.set() or F.cache.set2()
  • added: encryption of config values
  • added: F.refresh() for refreshing of internal cache
  • added: DatabaseBuilder.each(fn) for browsing of evaluated records
  • added: Bundles can be downloaded from URL addresses
  • added: ONCE() alias to F.once()
  • added: image.define(value) performs convert -define 'value'
  • added: Total.js JS files (+ packages) tarted with . (dot) or ended with -bk won't be processed
  • added: A new builder called TaskBuilder for creating custom tasks in Schemas or Operations
  • added: WebSocket.send2(message, [comparer(client, message)], [replacer]) a new method for better sending frames
  • addde: PATH as a global alias for F.path

UPDATES:

  • updated: debug mode creates a start_name_script.pid instead of debug.pid
  • updated: NEWOPERATION() supports repeat, stop and binderror arguments (more in docs)
  • updated: routing, now it supports operations in the form ROUTE('.. * --> @save_operation @load_operation (response)')
  • updated: ROUTE() supports multiple HTTP method declaration ROUTE('GET,POST,PUT /something/', action)
  • updated: ROUTE() supports dynamic schemas
  • updated: REQUEST() can return binary data if the content-type is not text/* or application/*
  • updated: NoSQL joins support array values
  • updated: ROUTING(id:|search, [flags]) method
  • updated: F.path.mkdir(path, [cache]) can cache a current satte (default: false)
  • updated: controller.all() can return Array of all WebSocketClient
  • updated: startup info by adding user name
  • updated: LOCALIZE() now url arg can be a function which replaces F.onLocale

FIXES:

  • fixed: a critical bug with storing uploaded files via httpfile.fs() or httpfile.nosql()
  • fixed: a critical bug with JavaScript minificator
  • fixed: a critical bug with NoSQL counter and freezing app
  • fixed: a critical bug with rendering of multiple async components
  • fixed: a critical bug with GZIP compression (sometimes appeared in Safari)
  • fixed: nosql.update() and nosql.modify() methods if the first argument is a function
  • fixed: F.wait() in the test mode
  • fixed: LOCALIZE() for nested directories
  • fixed: sending of error handling when WebSocketClient is starting (for example: unauthorized)
  • fixed: versions and auto feature with enabled F.wait()
  • fixed: versions and auto feature with direct link to file
  • fixed: LOAD('release') a release mode
  • fixed: SchemaInstance.$clean() for nested schemas
  • fixed: extracting bundles (added /flow/ and /dashboard/)
  • fixed: subdomain routing for localhost
  • fixed: service for database cleaner
  • fixed: rendering group of components
  • fixed: RESTBuilder - JSON request without param sends an empty object
  • fixed: $MAKE() with callback
  • fixed: String.slug() for UTF - Chinese/Japan/Arabic/etc. chars
  • fixed: async rendering of components
  • fixed: RESTBuilder cache works only if the response status is 200
  • fixed: compressing CSS with \t tabs
  • fixed: controller.autoclear()
  • fixed: controller.proxy()
  • fixed: repeat mode in SCHEDULE()
  • fixed: --inspect argument for Workers by Tema Smirnov
  • fixed: TLS in SMTP mail sender
  • fixed: applying of versions
  • fixed: unit-tests reads only javascript files
  • fixed: controller.invalid() a problem with ErrorBuilder as a argument

REMOVED:

  • removed: F.config.debug
  • removed: controller.isDebug

IMPROVEMENTS:

  • improved: NoSQL reader
  • improved: UID() -> now it changes a random hash each minute
  • improved: CORS
  • improved: rendering of components
Loading
Previous 1 3 4 5 6
Previous

AltStyle によって変換されたページ (->オリジナル) /