History of changes

0.3.0 - 2017-04-04

  • Complete rewrite. Only the most notable changes are listed below.
  • Requires Python 3.4 or higher.
  • The rules language is completely different, simpler and more powerful.
  • Notable new features of the rules language:
    • forwarding to other servers (“reverse proxy”);
    • easy “RESTful” routing with path segments;
    • easy construction of arbitrary HTML pages (using Dominate);
    • CORS support now handles preflight requests automatically;
    • control over finer aspects of the protocol: streaming, 1xx responses, Content-Length, Transfer-Encoding, keep-alive.
  • On the other hand, some features have been removed for now:
    • alternating responses (first(), next(), then());
    • shortcuts for JavaScript and XML responses (js(), xml()).
  • You can now choose which network interface Turq listens on, including IPv6.
  • The Turq editor (formerly known as “console”) now has automatic indentation and syntax highlighting.
  • The Turq editor is now optional, listens on a separate port, and is protected with a password by default.
  • Turq can now print more information to the (system) console, including request and response headers.
  • Initial rules may now be read from a file at startup. This provides a simple way to use Turq programmatically.
  • Turq can now handle multiple concurrent requests.

0.2.0 - 2012-12-09

  • Stochastic responses (maybe(), otherwise()).
  • Various features of the response can now be parametrized with lambdas.
  • body_file() now expands tilde to the user’s home directory.

0.1.0 - 2012-11-17

Initial release.