Release Notes for Swazoo 2.2

Released 1.mar 2009

Release in brief

  • upload streaming 30 times better for large file uploads
  • additional improvements of streamed upload performance, as a result of a nice "competition" with Göran Krampe doing the same on the Commance.
  • two important classes renamed to avoid namespace clashes: Site to SwazooSite, Resource to SwazooResource
  • more reliable post data parsing
  • more and better tests
  • benchmarking support added

Detailed notes

--- On: 02/21/2009
-HTTPConnection interact has additional ifCourtailed: block to ensure connection close in all exception handling cases by web frameworks (suggested by Julian Fitzell)

--- On: 02/11/2009
-SwazooServer swazooVersion to 2.2

--- On: 02/09/2009
-SwazooServer watchog calls #watchdogSites and #watchdogOther only, if those two methods exist. This is to solve the override problem in Squeak.

--- On: 02/08/2009
"VW specific" in comments of methods with platform specific code"

--- On: 02/08/2009
- Swazoo tests pass
- SwazooServerTest more hardened

--- On: 02/08/2009
-HTTPost better chunked streaming (#containsHeaderNecesaryFields)
-SwazooBuffer refillFrom: with diagnostics to finally catch the streaming error

--- On: 01/22/2009
-SwazooServer stop in new site initializtion
-SiteIdentifier isEmpty

--- On: 12/29/2008
- SwazooServer isServing added, addServer etc. returns argument
- SwazooServer serverFor:  adds and starts the http server, if not
  exist
- SwazooSite start  simplified
- SwazooBenchmarks Singleton is a shared var, not class instance
  one!

--- On: 10/17/2008
WARNING, MIGRATION! Manually rename Site to SwazooSite and Resource to SwazooResource before loading this version!

--- On: 10/17/2008
- class renames: Site to SwazooSite, Resource to SwazooResource

--- On: 09/23/2008
- added another site combination to SwazooServerTest

--- On: 09/18/2008
- auto resize buffer to 1M for big uploads
- SwazooServer restart
- HTPPost partFromStream: if no data to read in last line, just skip it

--- On: 08/03/2008
- arithmetics without spaces (GST compatibility)
- HTTPost blockStreamingFrom:.. correct potential crlf copying
- HTTPConnection interact exception on: Error instead SpError
- Site watchdogAction, (called every 10s)
- SwazooServer watchdog methods back here (were overriden?)

--- On: 07/25/2008
- input streaming optimization: 30x improvement for large file uploads!
- HTTPPost blockStreamingFrom:to:until: for 8k block streaming
- SwazooBuffer now used for reading too in SwazooStream
- SwazooBuffer reads 8KB at once from TCP sockets if possible.
- HTTPostTest, SwazooBufferTest introduced

--- On: 07/17/2008
HTTPResponse contentSize is 0 if entity is nil

--- On: 06/30/2008
HTTPPost partFromStream:boundary: didn't set contentType for file uploads. Patch contributed by Lautaro Fernández

--- On: 06/29/2008
-SiteIdentifier printHostPortStringOn:  if host is nil ....

--- On: 06/23/2008
- SwaooServer startSite: starts watchdog too
- SwazooStream closeResponse if socket nil (in simulation)
- HTTPRequest printOn: prints host too
- Swazoo Benchmarks: several benchmarks and performance   
   routines

--- On: 04/11/2008
Paolo Bonzini contributions:
- HTTPResponse writeTo:inResponseTo: added, writeTo: changed
- HTTPConnection nextPutResponse  calls now aMessage writeTo:inResponseTo:

--- On: 02/26/2008
- SiteIdentifier hostMatch:  lowercase equality instead of match:
- HTTPConnection isOpen
- Site start/stop local var swazoo instead of registry
- HTTPIfModifiedSinceField valuesAsStringOn:

--- On: 02/14/2008
- HTTPStreamedResponse flush
- SwazooTask response:
- SwazoStream flush-if socket is nil in tests

--- On: 02/14/2008
HTTPStreamedResponse flush to push content to TCP socket

--- On: 02/13/2008
-SwazooCompiler evaluate:
-SwazooBuffer adjustments with GST port- direct access to instvar position:: flushTo:chunked:, isFull, size




Updated: 1.3.2009