# Jetforce Changelog ### Unreleased - The server will now return a redirect if a directory is requested but the URL does not end in a trailing slash. This reduces duplicate selectors and makes it easier for clients to resolve relative links. - Added a ``-V`` / ``--version`` argument to display the version and exit. - The server now returns a ``50 PERMENANT FAILURE`` response when a client requests a URL that does not exist on the server. This change is motivated by the suggestion that a ``51 NOT FOUND`` status might not always be appropriate if the scheme/host component of the URL does not match. - Timestamps in log messages are now displayed to the server's local timezone. The UTC offset is included in the timestamp as "+HHMM" to prevent ambiguity. ### v0.0.7 (2019-08-30) - 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. ### 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. - Files with the ".gmi" extension are now recognized as *text/gemini*. - Added a new examples/ directory with the following applications - A bare bones echo server - A guestbook application - An HTTP/HTTPS proxy server ### 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.