If you would like to be notified of new releases, please subscribe to our mailing list.
See the release notes for more detail.
The HTTP API is now published as Swagger JSON (OpenAPI Specification v2.0). The interactive Swagger UI is available in your local restSQL web service. See the release notes for more detail.
The framework now supports Equals, Not Equals, Like, Greater Than, Less Than, Is Null and Is Not Null operators in read, update and delete query selectors. Additionally finer grained control of JSON response data form is now possible. See the release notes for more detail.
Codahale Metrics has been integrated into the framework. Documentation for developers may be added to resource definitions and readable via a browser request. See the release notes for more detail.
The framework adds CRUD operations for binary objects, a.k.a. BLOBs, with Base 64 string encoding. Protection against SQL Injection attacks was also added. See the release notes for more detail.
Get started with the framework faster by generating resource definitions for all tables in a database schema. The release also fixes a couple defects and refactored the design to enable simpler support for new database engines. See the release notes for more detail.
Insert responses now embed the inserted object(s), including the value of an auto-generated numeric column value (usually a primary key). Function-based columns in select operations will now work in PostgreSQL, as well as MySQL. The release fixes two defects and involves a minor Java API change. See the release notes for more detail.
The release fixes two defects (GitHub issue 32, issue 35) and adds a Framework Developer Quick Start.
The release adds the ability to reload a SQL Resource definition on demand (/restsql/conf/reload/{resName}) without a webapp restart. It also adds a mechanism to retrieve the SQL Resource's definition (/restsql/conf/definition/{resName}) as well as the framework's understanding of it's metadata (/restsql/conf/metadata/{resName}). See the HTTP API Reference.
The release restores support for Firefox, which was broken in release 0.8 with the JSON encoding enhancement. Firefox appends
;charset=UTF-8
to the Content-Type header when using XMLHttpRequest.setContentType() (GitHub issue 27).
The release enables numeric, string and date column values matching a set of values in queries. See In Operator for more details. Additionally the release fixes a column aliasing (GitHub issue 24) and a JSON serialization issue (GitHub issue 25).
The release enables provides configurability of the Cache-Control response header at a system level and per-SQL resource override. See HTTP Configuration for more details. Additionally the release fixes JSON encoding, removing the improper quoting for these numeric and boolean values (GitHub issue 18).
The release enables <, <=, > and >= operators for numeric, string and date/time parameters on read requests. See Comparison Operators for an overview and the GET by Query reference for an example.
The release enables JSON encoding for an HTTP API request and response entity (body). restSQL previously only supported XML encoding. See Media Types for an overview. All HTTP API reference documentation has also been updated to include JSON encoding instructions and examples.
The release also enables SQL functions in resource columns (MySQL only). Lastly it adds escaping for special characters values in XML encoding.
The release fixes handling date, datetime, time and timestamp data types (GitHub issue 7). The SDK now includes example code using the Java API.
SQL Resources in previous releases were constrained to a maximum of one parent and one child extension. 0.7.3 enables an SQL Resource to join an abitrary number of tables to create a flat or hierarchical application-specific view. See the release notes for more detail.
SQL resource namespaces may be organized into arbitrary-depth directories. The directory path is converted into dotted notation, following the Java package concept.
Aliases may be defined for SQL Resource parent and child tables. The alias instead of the table names appear as XML element names of request and response bodies.
The release adds resource authorization capability, ensuring users only access the SQL Resources and methods appropriate to their assigned role(s). It uses standard HTTP Basic or Digest authentication and standard JEE web app declarative security mechanisms. Credentials and role assignments are provided by a standard Realm plugin, which could be file-, RDBMS- or LDAP-based. Role to SQL Resource and request type assignments are provided via a simple configuration file.
The release extends database interoperability from MySQL to PostgreSQL. It also includes extension mechanisms to easily develop support for other database engines. The release additionally was tested with multiple application servers to ensure interoperability with any standard JEE container.