Skytable 0.7.3 is here: dev/prod mode, list pagination and several fixes

Skytable 0.7.3 is here: dev/prod mode, list pagination and several fixes
Photo by Alka Jha / Unsplash

We're extremely happy to announce the release of Skytable 0.7.3. Skytable is a free and open-source NoSQL database that aims to provide flexible data modeling at scale. This release is a small one, but adds a couple of nifty features.

Still in dev or pushing to prod? Your database now reflects it

With 0.7.3, we're introducing a dev/prod mode that works just like your codebase. For example when you're in dev, usually you'd want flexible settings; not having TLS-enabled, for example. And that's very usual – because you might not want to mess with certificates and keys when you just want to work on your app. But when you're in production – you'd want to keep the bar high and make sure that you're using the best settings possible – for both performance, security and reliability.

This new "mode" setting caters to exactly that – while you're in development mode (which is the default mode when you start skyd) we don't bother with what settings you've set; however, when you're about to pull off the curtains and show off what you've been working on – you should set the mode to prod. Think of prod mode to be like an auditor – it will look at your settings to determine whether it's good to go for production or whether you need to change any settings. If there's anything that it doesn't like – it will scream out an error and won't even run. That's how we want to make sure that you're doing it correctly!

Pagination with lists

The list type is an amazing utility because it lets you maintain an ordered collection of elements. However, it had one major drawback: you couldn't paginate a list. Say for example you were storing bookmarks for some user in a list, and this person really likes bookmarking, so much that they have over a 1000 bookmarks. You definitely don't want to crash the UI or strain your bandwidth by loading all 1000 items at once; instead you'd want to load say the elements 0-10, then 10-20 and so on. The new range subaction lets you achieve exactly that. You can now specify ranges to load (including infinite ranges, like 20-∞).

New Debian packages, fixes and towards the next release

From this release, we've started releasing Debian Packages (commonly known as deb files). These packages now automatically include systemd units so you can just download, run dpkg -i ./skytable-*.deb and expect to just launch a terminal and fire up skysh, while expecting it to automatically start at boot and restart if it ever fails. Several other fixes were made including an infinite retry loop if save fails on termination and removal of an already obsolete subcommand upgrade that was still erroneously accepted. One important fix is also the ability to restore from snapshots that has been broken since release 0.7.

Although this was a short release, we're expecting the next one to have something big and something you've wanted. For a little spoiler – we're working on rewriting in-memory structures to maximize performance and reduce memory usage, some security stuff and more. So, expect to hear from us at the next release! Until then, go ahead and download v0.7.3 and hang on with us :)