It's been 6 months since the last version was released. Here's what new in v1.5.0.
SQLite database provider
Mainly added to increase the experience of the CLI for local development where the data can persists across server shutdowns.
For apps that do not require huge throughput from the database or if you don't want to pay for a dedicated PostgreSQL or Mongo instance, this could be a good option.
Full-text earch
A simple full-text search is now available for tenants. They way to fill the search index is via server-side function. One good option would be to have functions triggers on the collection
you want to have search on and reacting to the db_created
and db_updated
message. The function to inde is called indexDocument
:
// example of server-side function that would index a "blog" collection
function handle(channel, type, doc) {
// ignore the db_deleted msg for now
if (type == "db_deleted") return;
// you have 1 text field as the full-text index, so add all fields from the document
// the first argument (collection) name must match with the exact same "real" collection name where the document is stored
let text = doc.title + " " + doc.article;
indexDocument("blog", idoc.d, text)
}
Schedule jobs & system messages clean-up
There's been a UI created to schedule jobs. Job schedule uses the cron-like format, for instance running a function each 15 minutes would have the following format: */15 * * * * *.
A global clean-up was made to ensure everything is smooth now with schedule jobs and message passing.
A job can have 3 action type: a) run a server-side function b) publish a message and c) make an HTTP call.
Other new features:
- New UI pages, accounts, users and jobs
- Delete multiple documents based on filters
sendMail
added to server-side function- Added
cacheGet
,cacheSet
,inc
,dec
andpublish
functions to server-side runtime - Added an API endpoint to add a new database to a tenant
- Added a new API for clients to be able to publish message and have system execute function(s) is there's listener for the topic.
Bug fixes
- Additional of linters, so lots of "smaller" code wuality fixes.
- Fixed issue with the memory data provider (introduced by the linter fixes)
- fixed adding scheduled jobs/tasks while system is running
- fixed schedule task runner
Thanks to all contributors, your help is always highly appreciated.