HTSQL Changelog

New in version 2.3.1

June 29th, 2012
  • This version adds nested records, nested queries, locators, and improved output formats.

New in version 2.3.0 (March 8th, 2012)

  • Licensing and packaging were updated.
  • HTSQL is now free software under the AGPLv3 for SQLite, PostgreSQL, and MySQL.

New in version 2.2.0 (December 16th, 2011)

  • This version adds a Web-based query editor with completion and syntax highlighting, as well as a Python API for embedded applications.

New in version 2.2.0 RC1 (November 23rd, 2011)

  • This version adds the ability to override database catalog meta-data, adds table/column/link name auto-completion to the editor, and adds Django integration.

New in version 2.2.0 Beta 2 (September 23rd, 2011)

  • Rebuilt source packages to include missing resource files.

New in version 2.2.0 Beta 1 (September 21st, 2011)

  • Fixed silent data truncation bug on invalid values; users of SQLite are adviced to upgrade.
  • Added support for loading application configuration from a file; option -C FILE.
  • Refactored plugin architecture; added support for plugin parameters.
  • Added SQLAlchemy adapter.
  • Added support for statement-like functions; converted formatters to statements.
  • Added plugin tweak.meta: database metadata exposed as a database.
  • Added plugin tweak.shell: a simple web-based HTSQL editor.
  • Removed plugin tweak.schema: functionality is implemented in the core.

New in version 2.1.0 RC1 (June 22nd, 2011)

  • Added /:tsv formatter that generates output in tab-separated format (thank to Andrey Popp).
  • A lot of updates to the tutorial, the reference and other documentation.
  • Minor code updates and bug fixes.

New in version 2.1.0 Beta 3 (May 13th, 2011)

  • Added a fiber linking operator: {x,y} -> T{x,y}.
  • Provide named attributes for kernel expressions and the complement link in a quotient scope: (program^degree) generates attribute degree as an alias for *1 and program as an alias for ^.
  • Added in-selector definitions: {attr := expr} is de-sugared to define(attr := expr){attr}.
  • Added $reference syntax for inter-scope references.
  • Added flow method fork(): clone the last node in the flow, e.g. /course?credits=max(fork().credits).
  • Added flow methods .filter() and .select() as aliases to ? and {} operators.
  • Added method distinct(): distinct(table{kernel}) produces a flow of unique values of kernel as it runs over table; it is equivalent to table^kernel. distinct() and ^ operators now filter out NULL values in the kernel.
  • Changed semantics of . and {} expressions: specifier (.) now allows arbitrary expressions on both sides, selector ({}) now sets the output columns in the current scope.
  • Added syntax *N, where N is an integer literal, to get the value of the N-th output column.
  • Added addon tweak.cors: append Access-Control-Allow-Origin: * to every HTTP response.
  • Added addon tweak.pgsql.inet: basic manipulations on values of INET data type.
  • Added addon tweak.pgsql.view: determine foreign key relationships for views in Postgresql.
  • Use search_path or its analogues to choose a table when the table name is ambiguous.
  • Optimized introspection for Oracle.
  • Added option -p to ask for a password on startup.
  • Added shell command run filename.htsql to load and execute an HTSQL query from a file.
  • Many other fixes and documentation updates.

New in version 2.1.0 Beta 2 (March 30th, 2011)

  • Added support for datetime and time date types.
  • Added support for calculated attributes, define() and where() macros.
  • Added addon tweak.pgsql.catalog: configure primary and foreign keys for pg_catalog.* tables.
  • Added addon tweak.schema: allow addressing a table in a specified schema as _ identifier.
  • Added addon tweak.autolimit: add LIMIT clause to each query.
  • Added addon tweak.pgsql.timeout: set statement timeout for each query.
  • Added Jinja integration demo.
  • Many minor fixes and updates.