All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
The release introduces a TLS support.
- SSL support (#35).
- SSL support into roles (#199).
The release introduces a role for Tarantool 3.
- Fixed request crash with empty body and unexpected header Content-Type (#189).
roles.httpd
role to configure one or more HTTP servers (#196).httpd:delete(name)
method to delete named routes (#197).
- Add versioning support.
- Allow dot in path segment.
- Add path_raw field. This field contains request path without encoding.
- Allow to use a non-standard socket (for example,
sslsocket
with TLS support). - When processing a GET request, the plus sign in the parameter name and value is now replaced with a space. In order to explicitly pass a "+" sign it must be represented as "%2B".
- Add option to control keepalive connection state (#137).
- Add option to control idle connections (#137).
- Disable option display_errors by default.
- Revert all changes related to http v2 (#134).
- Rewrite TAP tests with luatest.
- Create a separate target for running tests in CMake.
- Replace io with fio module.
- Replace Travis CI with Github Actions.
- Add workflow that publish rockspec.
- Add editorconfig to configure indentation.
- Add luacheck integration.
- Add option to get cookie without escaping.
- Add option to set cookie without escaping and change escaping algorithm.
- Fix FindTarantool.cmake module.
- Fix SEGV_MAPERR when box httpd html escaping.
- Return ability to set loggers for a specific route.
- Return ability to server and route to use custom loggers.
- Fix routes overlapping by any pattern in route's path.
- Fix req:redirect_to method.
- Fix installation paths to not contain extra directories.
- Major rewrite since version 1.x.
- Ability to be used with internal http server and an nginx upstream module (without modifying the backend code).
- Standardized request object (similar to WSGI).
- A new router with route priorities inspired by Mojolicious.
- Middleware support (for e.g. for centrally handling authorization).
- Travis builds for tags.
- Custom logger per route support.
- Fixed buffer reading when timeout or disconnect occurs.
- Fixed cookies formatting: stop url-encoding cookie path and quoting cookie expire date.
- Readme updates: fix setcookie() description, how to use unix socket.
- Protocol upgrade: detaching mechanism is re-worked.
- Detach callback support for protocol upgrade implementations.
- Fixed eof detection.
- Fixed request parsing with headers longer than 4096 bytes.
- Added RPM and DEB specs.
- Enabled builds for Tarantool 1.7.
- Fixed building on Mac OS X.
- Fixed server handler and before_routes hooks.
- Fixed "data" response body rendering option.
- Fixed crash in uri_escape and uri_unescape when multiple arguments with same name.
- Fixed no distinction between PUT and DELETE methods (#25).
- Fixed compatibility with Tarantool 1.7.
- Fixed empty Content-Type header handling.
- Fixed curl delay: add support for expect=100-Continue.
- Added requets peer host and port.
- Show tarantool version in HTTP header.
- Support for new Tarantool uri parser.
- Chunked encoding support in responses.
- Chunked encoding support in client.
- Fedora 23 build is disabled.
- HTTP new sockets API.
- Refactor handler API.
- Cloud build is enabled.
- Update the list of supported OS for tarantool/build.
- Fixed build without -std=c99.
- Fixed socket:write() problem: use :write instead :send, use new sockets in http_client.
- Fixed directory traversal attack.
- Fixed routes with dots don't work as expected (#17).
- Fixed truncated rendered template (#18).