gmid/site/changelog.gmi

121 lines
5.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# change log
## 2022/01/30 - 1.8 “Lightbulb Sun”
### New Features
* reverse proxying support: gmid now can relay gemini requests to other hosts.
* install gg too: it's a simple gemini client ("gemini get") initially developed as part of the regression suite.
* added OCSP stapling support (by @The-King-of-Toasters, thanks!)
* add gencert, a simple script to generate self-signed certs.
* add renew-certs, a script to automatically renew self-signed certs.
* multiple -n partially dump the parsed configuration.
### Improvements
* reworked the fastcgi subsystem, now it's completely asynchronous.
* refactored the internal of the server too.
* refactored the regression suite (in particular reduced the timeout for single tests from 30 to 10 seconds.)
* configure: add support for --prefix=... autoconf-style flag.
* relax the "wont proxy" check: don't check that the port in the request is the same we're listening on. Suggested and discussed with Allen Sobot, thanks!
* relax the strict ordering of options, locations and proxy blocks inside a server block.
### Bug fixes
* don't pass through illegal replies from CGI scripts.
* fix the "double slash" error in logs.
* fix the configure for cross-compilation: don't run the test binaries just built. Suggested by Nikolay Korotkiy (@sikmir), thanks!
* (seccomp) allow ugetrlimit(2), needed by glibc on arm7l. By Max, thanks!
## 2021/10/15 - 1.7.5 “Space-dye Vest” fifth bugfix release
This version includes the following bugfix
* dont die when a connection is closed before being accepted by gmid (i.e. handle ECONNRESET)
## 2021/09/24 - 1.7.4 “Space-dye Vest” fourth bugfix release
This version includes the following bugfix:
* fix a possible out-of-bound access when handling a request for a non-existent file in the root directory of a vhost that's matched by the cgi option
and the relative regression test.
## 2021/09/19 - 1.7.3 “Space-dye Vest” third bugfix release
### Improvements
* follows symlinks
* improved documentation and added key generation example (thanks! Anna)
### Bugfix
* fix syslog logging on FreeBSD. Reported by Karl Jeacle, thanks!
* don't crash if ``-c'' is missing in configtest mode (-n). Reported by heph, thanks!
* allow fstat64 on linux (needed by glibc on aarch64). Reported by pine, thanks!
## 2021/07/19 - 1.7.2 “Space-dye Vest” second bugfix release
This version incudes the following bugfix:
* an un-initialized field in the configless code path leads to a crash on the first request.
and the relative regression test.
## 2021/07/11 - 1.7.1 “Space-dye Vest” bugfix release
This version includes two bugfixes:
* use ${MAKE} to recursively call make.
* fix the misleading example in the manpage: macros may not be reserved words
## 2021/07/10 - 1.7 “Space-dye Vest”
Starting from this version gmid doesn't depend on lex anymore, but yacc is still needed.
### New features
* initial fastcgi support! (it's still young!)
* added user-defined macros, either via -Dname=val or directly in the configuration file.
* new include keyword to load additional configuration files.
* new env rule to define environment vars for CGI scripts.
* new alias rule to define hostname aliases for a server.
* allow root to be specified per-location block.
* pidfile support with the new -P cli flag.
* define TLS_VERSION, TLS_CIPHER and TLS_CIPHER_STRENGTH for CGI scripts.
### Improvements
* remove limits on the number of virtual hosts and location blocks that can be defined.
* print the datetime when logging to stderr.
* use text/x-patch for .patch and .diff files.
* sort the auto index alphabetically.
* various improvements to the log management.
* drop the dependency on lex.
* added --help as synonym of -h and -V/--version to print the version.
* c-like handling of strings in the configuration file: when two or more strings are next to each-others, are automatically joined into a single string. This is particularly useful with $-macros.
### Bug fixes
* correctly handle CGI scripts that replies with the maxium header length allowed.
* fixed the static target.
* fixed recursive mkdirs for configless mode (i.e. create ~/.local/share/gmid)
* logs sent to syslog now have proper priority (before every message ended up as LOG_CRIT). Found by Anna “CyberTailor”, thanks!
* ensure %p (path) is always absolute in block return rules.
* fix automatic certificate generation, it caused problems on some adroid devices. Found by Gnuserland, thanks!
* document the log rule.
* the seccomp filter was reworked and now it's known to work properly on a vast range of architectures (to be more specific: all the architectures supported by alpine linux), see github issue #4. Prompted and tested by @begss, thanks!
* various improvements to the configure script, notified and fixed by Anna “CyberTailor”, thanks!
* added a timeout to the regression tests.
### Breaking changes
* if duplicate rules are found in the configuration file, an error is now raised instead of silently using only the last value.
* (sort of) gg moved to regress as it's only used in the regression suite.
* (notice) the “mime "mime-type" "extension"” rule was deprecated and replaced by the new “map "mime-type" to-ext "extension"”. The mime rule will be removed in a future version because its syntax is incompatible with the new string auto-concat mechanism.