Next version is here. I'm gunna call it 1.3, because I can. First thing to mention is that there's virtually no change in the API. You might find a couple variables that you used to be able to access directly that you no longer can. You can no longer directly access the address in the the HttpRequest object. You must use the GetAddress() and GetPort() accessors. I rewrote the entire underlying system. That's why it took so long. All the text parsing is the same, but the 3 server modes (single threaded, thread pool, and one thread per request) are brand spanking new. I've run them through some pretty brutal tests, to the best of my abilities on my dual Xeon system, and I can't get it to hang up at all. Thanks to Michal Pleban for sending me a great stress test tool. It's included in the ehs 1.3 package. I've made it a bit more generic, and it's not really polished, but if you wanna test out your EHS program, it'll do a pretty good job. There's documentation on it in ehs_programming_guide.txt. New feature: you can turn off request routing through registered EHS objects by setting the server parameter oSP["norouterequest"]=1; This makes it so you can use paths without having registered EHS objects along the entire path. Someone asked for it; here it is. File names have changed. I got rid of all the capitalization in all the file names. This might cause grief. I'm sorry, but I finally got sick of living with the mistake I mad of creating filenames with capital letters. I will do my best to never do this again. EHS is now more HTTP/1.1 compliant. EHS supports persistent connections and streamed requests. Note that this is not as well tested as doing one request per TCP connection. There may be bugs. Unfortunately, the stress tester doesn't simulate this behaviour. Me typing in requests by hand simulates this behaviour. While I'm a pretty good typist.. I'm limited to about 1 request every 5 second or so :(