Spec updates ------------ I've just updated the "speculative specification" document[1] fairly extensively. Anybody who has implemented a publically available Gemini server or client is urged to read the latest spec-spec and make changes as required. I will be doing so for all of my software in the coming days. Because there has been a change to the request format this will probably throw us into a short period of incompatibility as everybody gradually gets their code onto the same page over time, but hopefully it will be a short period and hopefully it will be the last time anything like this happens for quite a while. Along with tightening up various details which have been left vague or implicit until now, the most significant changes are: * The request format has changed to spec sending a URL rather than just a path to the server, as described in my last post. This will allow virtual hosting and proxying, including protocol-converting gateways which I, for one, am pretty excited about. * The two-digit status codes in response headers are now finally defined so we can get this important part of things standardised at last. * The spec now says explicitly that clients don't need to, but if they want to may choose to reflow text so that lines break at the appropriate points for narrow displays. This is more or less the point I had really hoped to be at by the end of July, so we're a little behind schedule, but oh well. Now all the over-the-wire details, or at least the major ones, are defined and I consider them pretty well locked-in. I'm not guaranteeing nothing more will change, but I'm pretty darn happy with how things look right now and I want further changes to be very well motivated, as small as possible and hopefully backward compatible. At this point, the features defined in the spec are quite far in front of what anybody has actually implemented in software yet. I don't think that's a good thing and I'd like us to focus on closing that gap instead of thinking about further changes. Additional changes to the spec (of the small and compatible kind) should ideally be motivated by us observing actual practical problems with actual working implementations instead of designing from our armchairs. I'd like to say a big thanks to everybody who has offered any comments or suggestions on Gemini up to this point. The protocol as it is specced today is quite different from how I'm sure it would have ended up if I'd designed it quietly, entirely on my own, and I think it's better for that. I think we're going to end up with something really cool. [1] gopher://zaibatsu.circumlunar.space:70/0/~solderpunk/gemini/spec-spec.txt