v2.8.0
News:
- added:
NOSQL().restore()
restores a database (its package) - added: Mail options support a new property
xoauth2
(it needs to contain aBASE64
value) for sending emails via OAuth 2.0 tokens (more in docs) - added:
F.path.mkdir(path)
creates all directories according to the path - added:
MailMessage.send2([callback])
sends a message according to the framework configuration - added: a new filter for NoSQL embedded
DatabaseBuilder.contains(name)
- added: a new filter for NoSQL embedded
DatabaseBuilder.empty(name)
- added: (IMPORTANT) NoSQL counter supports daily stats (NoSQL counter files will be upgraded automatically and backwards incompatible)
- added: (IMPORTANT) NoSQL database and counter can read data from URL
- added: NoSQL counter
db.counter.daily_sum([id], callback)
for reading stats - added: NoSQL counter
db.counter.daily_max([id], callback)
for reading stats - added: NoSQL counter
db.counter.daily_min([id], callback)
for reading stats - added: NoSQL counter
db.counter.monthly_sum([id], callback)
for reading stats - added: NoSQL counter
db.counter.monthly_max([id], callback)
for reading stats - added: NoSQL counter
db.counter.monthly_min([id], callback)
for reading stats - added: NoSQL counter
db.counter.yearly_sum([id], callback)
for reading stats - added: NoSQL counter
db.counter.yearly_max([id], callback)
for reading stats - added: NoSQL counter
db.counter.yearly_min([id], callback)
for reading stats - added: NoSQL counter
db.counter.stats_sum(top, [year], [month], [day], callback)
for reading stats - added: NoSQL counter
db.counter.stats_max(top, [year], [month], [day], callback)
for reading stats - added: NoSQL counter
db.counter.stats_min(top, [year], [month], [day], callback)
for reading stats - added: NoSQL counter
db.counter.minimum([id], callback)
for reading stats - added: NoSQL counter
db.counter.maximum([id], callback)
for reading stats - added: NoSQL counter
db.counter.min(id, value)
for writing stats - added: NoSQL counter
db.counter.max(id, value)
for writing stats - added: NoSQL counter
db.counter.sum(id, value)
for writing stats (alias fordb.counter.hit()
) - added: NoSQL counter: a new event
stats
when the stats are changed - added: NoSQL logging in
DatabaseBuilder.log(msg, [user])
- added: NoSQL backuping documents while they are updating/removing in
DatabaseBuilder.backup([user])
- added:
CLONE(obj)
alias forU.clone()
- added:
GROUP(flags, fn)
alias forF.group()
- added:
F.cache.set2()
it creates a persistent cache (persistent items are stored in a file) - added: new View Engine command
@{'%config'}
which reads a value from config directly - added:
F.config['allow-filter-errors']
for filtering network unhandled errors - added:
REDIRECT()
alias forF.redirect()
Updates:
- updated: (IMPORTANT) packages compress/decompress function supports streaming data
- updated: (IMPORTANT)
NOSQL().backup()
!!! was changed !!!! - updated:
controller.view(name/url, [model], [headers], [partial])
can render a view from URL address - updated:
F.backup()
argumentpath
can containString Array
file list - updated:
controller.viewCompile(body, model, [headers], [partial], [cacheKey])
add a cache key - updated:
image.command(arg, value, [priority], [escape])
apriority
argument can beescape
when it containsboolean
value - updated:
U.getExtension()
returns lower-case extensions - updated:
total.js/debug
watchs/workflows
file - updated: file
/workflows
supports customoptions
, more in docs - updated:
Array.random()
algorithm (+70% faster than older) - updated:
RESTBuilder.file(name, filetarget, [filename])
can containfilename
instead of buffer - updated:
U.streamer(beg, [end], onItem(item, index), [skip], [stream])
added a new argumentstream
for flushing buffer - updated:
ErrorBuilder.addTransform(name, callback(isResponse))
by adding new argumentisresponse
- updated:
sorting
(framework + NoSQL embedded), now supportsinternationalization
- updated:
total.js/debugger
by adding a new optionoptions.watch = ['directory']
- updated:
U.streamer()
supports "cancelation", just returnfalse
- updated: CSS auto-prefixer, added:
repeating-linear-gradient
,radial-gradient
,repeating-radial-gradient
and removed-o
prefix
Fixes:
- fixed: (IMPORTANT) long messages in WebSocket
- fixed: (IMPORTANT)
controller
param in schemas - fixed: moved executing of
MailMessage.callback()
to better place - fixed: mail auth when
options.user
andoptions.password
are blank - fixed: JS/CSS/HTML blocks
- fixed:
F.prototypes()
- fixed:
F.decrypt()
a problem with parsing JSON and date formats - fided:
debug.js
sometimes was created a problem with output informations
Improvements:
- improved: Date formatting (+50%)
- improved: NoSQL performance (around 60% in some cases)