Change Log

The format of this changelog is based on Keep a Changelog and this project adheres to Semantic Versioning.

2.0 (unreleased)

The next major verion of Depo may be a significant departure in how it is used.

There will be a lower-level SQLite NIF library with a simple interface to SQLite C API functions.

Depo will be built on top of that, and will be a web service for managing many data services using SQLite underneath, and an HTTPS API and a graphical web interface. All data services require authentication, which is managed with roles by an authentication service. A role specifies read/write access for specific data services identified by their URL. The tokens must be retrieved from the authentication service, and included in requests to the individual data services.

Each data service is specified by a group of SQL functions. An init function is used for creating the initial database schema, and read and write functions are for querying and updating the database. Each read and write function becomes a GET or POST endpoint, and cannot be changed after creation. Only new endpoints can be added. To make backwards-incompatible changes, you must create a new data service.

You can generate a token in SQLite with select lower(hex(randomblob(16)));, and get the current time with select strftime('%Y-%m-%dT%H:%M:%f');.

1.6

Added

  • added read_stream/1 to offer better handling of streams

Changed

  • made transact/2 return value from last expression within transaction function (fixes issue #29)

Fixed

1.5.2

Fixed

  • fixed bug where :single commands would return improperly formatted values when given bound variables

1.5.1

Fixed

  • updated links in package info

1.5.0

Added

  • human readable changelog in README (fixes issue #20)
  • improved Depo.DB formatting in logs
  • internal refactor to share implementation between async and sync queries
  • options for returning query values as lists of tuples, maps, or a single value (fixes issue #26)
  • option for sending a single value to bind to a query not in a list (fixes issue #24)
  • updated documentation to include information on why and how to use teach/2 and transact/2