List of Changes
===============


2.1.0 beta 1 (2011-03-08)
-------------------------

* Ported to MySQL, Oracle and MS SQL Server.
* Added support for projections (`base^kernel`).


2.0.1 final (2011-02-01)
------------------------

* Merged `/:json` and `/:jsonex` formatters; use `/:jsonex` layout
  to avoid CSRF issues.
* Documentation updates.


2.0.0 rc 1 (2011-01-21)
-----------------------

* HTRAF demo is promoted to a standalone project; see
  http://bitbucket.org/prometheus/htraf.
* Added `/:jsonex` format: JSON with extra metadata.
* Documentation updates.


2.0.0 beta 5 (2010-12-14)
-------------------------

* Completed the SQLite backend.
* Completed the standard library.


2.0.0 beta 4 (2010-12-05)
-------------------------

* Refactored peep-hole optimization of the frame tree and SQL
  serialization; refined the generated SQL.
* Refactored the internal API for adding functions.
* Added new (experimental) syntax for infix function call.
* Added an "Examples" section to the documentation.
* Fixed compatibility with Python 2.5.
* Many minor bugfixes, documentation updates, etc.


2.0.0 beta 3 (2010-11-09)
-------------------------

* Refactored the translator from the term tree to the frame tree;
  added a new translation step to collapse nested frames and reduce
  SQL expressions.
* Added the HTRAF demo: use HTSQL with client-side javascript
  to define complex dashboards.
* Added the SSI demo: using HTSQL for web without giving direct access
  to the database.
* Updated the tutorial, minor bugfixes, regression test updates, etc.


2.0.0 beta 2 (2010-10-01)
-------------------------

* Refactored the translator from the expression graph to the term tree.
* Added `Content-Disposition` header to `:json` and `:csv` renderers.
* Merged the tutorial to the repository.


2.0.0 beta 1 (2010-09-21)
-------------------------

* Initial beta release.
* PostgreSQL and SQLite backends are (mostly) supported, the former
  more than the latter.
* The SQL translator needs more work, in particular, the term tree,
  the frame structure and the serializer.
* Lots of functions are either not implemented or missing a proper
  serializer, especially in the SQLite backend.
* Other areas which need more work before the final release: rendering,
  introspection, regression tests and documentation.

