jetforce/CHANGELOG.md

79 lines
3.4 KiB
Markdown
Raw Normal View History

2019-08-12 17:39:14 +02:00
# Jetforce Changelog
2020-01-13 01:31:48 +01:00
### Unreleased
2020-03-11 05:06:22 +01:00
- Allow virtual hosting by specifying an alternate hostname in the application
route pattern.
- Jetforce will no longer raise an exception when attempting to log dropped
connections or other malformed requests.
2020-01-22 00:17:33 +01:00
### v0.2.0 (2012-01-21)
2020-01-13 01:31:48 +01:00
#### Features
- Added support for python 3.8.
2020-01-13 02:36:00 +01:00
- Added a new server diagnostics tool, ``jetforce-diagnostics``.
2020-01-13 01:31:48 +01:00
- Added ability to binding to IPv6 addresses (if supported by your OS):
2020-01-13 02:36:00 +01:00
- For IPv4 : ``--host "0.0.0.0"``
- For IPv6 : ``--host "::"``
- For IPv4 + IPv6 : ``--host ""``
2020-01-13 01:31:48 +01:00
- Various improvements have been made to the project documentation.
#### Bugfixes
- A URL missing a scheme will now be interpreted as "gemini://".
2020-01-13 02:36:00 +01:00
- A request to the root URL without a trailing slash will now return a
``31 PERMANENT REDIRECT``.
2020-01-13 01:31:48 +01:00
- Requests containing an invalid or unparsable URL format will now return a
2020-01-13 02:36:00 +01:00
status of ``59 BAD REQUEST`` instead of ``50 PERMANENT FAILURE``.
2020-01-13 01:31:48 +01:00
- Files starting with ``~`` will now be included in directory listings.
- Requests containing an incorrect scheme, hostname, or port will now return a
2020-01-13 02:36:00 +01:00
``53 PROXY REFUSED`` instead of a ``50 PERMANENT FAILURE``.
2020-01-13 01:31:48 +01:00
- The port number in the URL (if provided) is now validated against the
server's port number.
2020-01-13 02:36:00 +01:00
- OS errors when attempting to read a file will return a ``51 NOT FOUND``
status instead of a ``42 CGI Error``. This is a precaution to prevent leaking
sensitive information about the server's filesystem.
- For security, unhandled exceptions will now display a generic error message
instead of the plain exception string.
2020-01-13 01:31:48 +01:00
2019-09-23 04:13:00 +02:00
### v0.1.0 (2019-09-22)
2019-09-23 03:59:20 +02:00
- The server will now return a redirect if a directory is requested but the URL
2019-09-23 04:13:00 +02:00
does not end in a trailing slash. This is intended to reduce duplicate
selectors and make it easier for clients to resolve relative links.
2019-09-23 03:59:20 +02:00
- Added a ``-V`` / ``--version`` argument to display the version and exit.
2019-09-23 04:13:00 +02:00
- The server now returns an error code of ``50 PERMENANT FAILURE`` by default
if the URL does not match the server's scheme or hostname.
- Timestamps in log messages are now displayed in the server's local timezone.
As before, the UTC offset is included as "+HHMM" to avoid ambiguity.
2019-09-23 03:59:20 +02:00
2019-08-30 05:51:25 +02:00
### v0.0.7 (2019-08-30)
2019-08-23 15:45:24 +02:00
2019-08-30 05:51:25 +02:00
- Added support for a primitive version of CGI scripting.
- Added support for TLS client certificate verification.
- The directory index file has been changed from ".gemini" to "index.gmi".
- Files with the ".gemini" extension are now recognized as *text/gemini*.
- Several minor improvements to the internal codebase and API.
2019-08-23 15:45:24 +02:00
2019-08-23 01:34:04 +02:00
### v0.0.6 (2019-08-22)
- Significant refactoring of the base application interface.
- Added built-in support for URL routing based on the request path.
- Added support for accepting input using query strings.
2019-08-30 05:51:25 +02:00
- Files with the ".gmi" extension are now recognized as *text/gemini*.
2019-08-23 01:34:04 +02:00
- Added a new examples/ directory with the following applications
- A bare bones echo server
- A guestbook application
- An HTTP/HTTPS proxy server
2019-08-12 17:39:14 +02:00
### v0.0.5 (2019-08-12)
Updates to conform to the v0.9.1 Gemini specification
- The request line is now expected to be a full URL instead of a PATH.
- Response status codes have been updated to match the new specification.
- The server now requires a "hostname" be specified via a command line argument.
- Request URLs that contain other protocols / hosts are disallowed.
- A simple gemini client, ``jetforce-client``, is now included.