Version 0.1.15 brings many API refinements and improvements. The most notable change is first-class support for contexts in methods on both the Client and Server. Contexts are also provided to the Handler's ServeGemini function and will be canceled when the connection is closed. FileSystem has been replaced with io/fs.FS. As such, Go 1.16 is now required. ServeMux now supports matching hostnames and schemes as well as paths. The new Store struct in the certificate submodule is now in charge of automatic certificate creation. It can be used in combination with Server.GetCertificate. Response now implements io.ReadCloser, and Response.Body has been removed. Clients should close Response instead of Response.Body. The Response fields Status and Meta are no longer exported and must be accessed with the Status and Meta methods instead. To manually create a Response, use the new function NewResponse. ResponseWriter now has a Close method so that Handlers can manually close the connection. Response and Request now have the methods Conn and TLS, returning the underlying net.Conn and information about the TLS connection. The fields RemoteAddr and TLS have been removed. To get the remote address, use Conn().RemoteAddr(). Note that the returned net.Conn should not be written to or read from directly. There were also a lot of other small tweaks and bug fixes.