Skip to content

v1.5.0

Latest
Compare
Choose a tag to compare
@dstpierre dstpierre released this 14 Jun 10:22
· 33 commits to main since this release

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 and publish 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.