Skip to content
This repository
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 201 lines (159 sloc) 7.951 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
Version 1.0-M3 (2012-xx-xx)
---------------------------

- Completely refactored suite module structure
- Removed `respondWithContentType` directive (didn't play well with content negotiation)
- Changed `parameters` directive with one argument
- Renamed transform... directives to map...
- Renamed IoWorker to IOBridge
- Renamed `fail` directives to `failWith`
- Renamed `completeWith` directives to `complete`
- Default Unmarshallers now accept emtpy input where it makes sense
- Marshalling and Unmarshalling infrastructure completely redone
- !Directive is gone
- 'httpBasic' => BasicAuth
- dependent-method-types now required compiler setting
- ...


Version 1.0-M2 (2012-05-16)
---------------------------
- spray-io

  + Added SslTlsSupport pipeline stage
  + Fixed SetTimeout messages not working
  + Fixed closing of already closed connections improperly handled
  + Fixed bug in wiring of certain pipeline stages
  + Dropped `confirm-sends` config setting, added `ack:Boolean` field to IoWorker.Send
  + Renamed `SendCompleted` event to `AckSend`
  + Made IoWorkerThread daemonic
  + Improved pipeline architecture for reduced call stack depth

- spray-can

  + Added SSL/TLS support to HttpServer and HttpClient
  + Added `ack-sends` setting to client and server config
  + Added 'transparent-head-requests' server config setting
  + Added HttpClient.SetRequestTimeout message
  + Fixed HttpServer not handling 'Expect: 100-continue' headers
  + Fixed HttpClient not properly handling HEAD requests to resources containing a message body
  + Fixed #99 (getFromFile(Name) sometimes throws IllegalStateException when streaming file content)
  + Fixed SetTimeout messages not working
  + Enabled validity verification on HttpRequests and HttpResponses
  + Extended HttpDialog to also accept ActorContexts as dispatcher container

- spray-base

  + http: fixed custom mediatypes not being matched
  + http: fixed ArrayIndexOutOfBoundsException during header parsing of unregistered CustomMediaTypes
  + http: fixed IPv6 Host header parsing failure
  + Fixed #108 (FormDataUnmarshaller should be more resilient)
  + Fixed incorrect error message in HttpContentExtractor
  + Fixed several memory leaks in streamMarshaller

- spray-server

  + Fixed actorSystem dependency in DebuggingDirectives incorrectly named
  + Make ErrorHandling#responseForException public

- spray-client

  + Improve `unmarshal` pipeline step to accept all 2xx responses instead of only 200

- general

  + Added basic, but still incomplete, sphinx-based documentation system for new spray website
  + Upgraded to Akka 2.0.1
  + Extended simple-http-server and simple-http-client examples with optional SSL/TLS support
  + Fixed EOL related test failures on Windows
  + Lots of smaller fixes and improvements


Version 1.0-M1 (2012-04-05)
---------------------------
- Moved spray-can sources into spray codebase
- Added spray-io component (and spray-util for common code)
- Upgraded all components and examples to Akka 2.0


Version 0.9.0 (2012-03-07)
--------------------------
- Fixed another problem in the request retry logic (spray-client)
- Fixed incorrect response status code for authentication failures with invalid credentials
- Fixed "LruCache implementations also caching exceptions"
- Readded time-to-live based expiration to ExpiringLruCache
- Closed #87 (wrap non-200 responses in special exception)
- Closed #88 (added PathElement PathMatcher)


Version 0.9.0-RC4 (2012-02-27)
------------------------------
- Fixed spray-client retries not always honoring Pipelined dispatch strategy
- Added missing location pointer to entity of generated redirection responses
- Added directives: reject, cookie, optionalCookie, setCookie, deleteCookie,
  headerValue, headerValuePF, clientIP, provide and transformRejections
- Made FilterResult and SprayRoute1 monadic
- Added another overload to the 'authenticate' directive
- Added 'toOption' pimp to Strings (in utils)


Version 0.9.0-RC3 (2012-02-22)
------------------------------
- Fixed #78 (spray-client: unexpected closing of connection not properly handled)


Version 0.9.0-RC2 (2012-02-17)
------------------------------
- Upgrade to Akka 1.3.1
- Fixed getFromResource directive to not serve "content" of resources ending with slash
- Made cacheResults directive honor `Cache-Control: max-age` header
- Added default Marshaller for Option[T] (#81)
- Added TwirlSupport trait
- Improved DebuggingDirectives trait, added logRequestResponse directive
- Improved relaxed header parsing to also accept custom HttpCharsets


Version 0.9.0-RC1 (2012-02-03)
------------------------------
- Upgrades:

  + Scala 2.9.1
  + Akka 1.3
  + spray-json 1.1.0
  + spray-can 0.9.2
  + SBT 0.11.2

- Changed dependency on akka-actor from scope 'compile' to scope 'provided'
- Added support for chunked responses, including chunk compression and automatic file chunking
- Added new directives: completeWith, redirect, autoChunk, dynamic, transformUnchunkedResponse, transformChunkedResponse
- Added default Marshallers for Eithers, HttpResults, HttpExceptions, Streams, Futures and Array[Byte]
- Added support for JSON (de)serialization via lift-json
- Added support for template rendering via Scalate
- Added support for LDAP authentication
- Added support for asynchronous and cached authentication
- Added option for relaxed header parsing (issue #68)
- Added DebuggingDirectives trait
- Simplified custom rendering of Rejections to HttpResponses
- Improved LruCache implementation to use com.googlecode.concurrentlinkedhashmap
- Fixed #72 (Different HttpConduits sometimes and erroneously share connections)
- Fixed #59 (Factor out Rejection Conversion)
- Fixed #67 ('cacheResults' directive should honor 'Cache-Control: no-cache' request header)
- Fixed most occurrences of implicit ambiguities with SprayJsonSupport
- Fixed several bugs in header parsing and rendering
- Extended spray-example-spray-can to show off new streaming features
- Lots of other fixes, additions and improvements


Version 0.8.0 (2011-11-16)
--------------------------
- Upgrades:

  + Scala 2.9.1
  + Akka 1.2
  + spray-json 1.0.1
  + SBT 0.11.1 (many thx to Steffen for contributing the original buildfile)

- Support for 'application/x-www-form-urlencoded' as well as 'multipart/form-data' form content (many thx to Julien for contributing a lot of the implementation)
- Support for `multipart/mixed` content (un)marshalling
- Support for spray-can as the first non-servlet-container web server
- Completely rewritten spray-client, now based on the new spray-can HttpClient
- Completely rewritten servlet connector layer for improved performance and stability
- Three new example projects:

  + spray-client-example
  + spray-example-simple
  + spray-example-spray-can

- Unified SimpleParsers and Unmarshallers into a joint `Deserializer` hierarchy
- Removed `optionalContent` directive (use `content(as[Option[T]])` instead)
- Renamed `spray-http` module to `spray-base`
- Renamed cc.spray.marshalling to cc.spray.typeconversion
- Renamed SprayJsonMarshalling to SprayJsonSupport
- Moved encoding/decoding to for cc.spray.encoding
- Simplified case class extraction, now `as(T)` rather than `as(instanceOf(T))`
- Simplified SprayTest infrastructure making the 'DontDetach' trait obsolete
- Lots of other fixes, additions and improvements


Version 0.7.0 (2011-07-27)
--------------------------
A great number of changes and improvements, most importantly:

- removed dependency on Akka Mist
- upgraded to Scala 2.9.0-1 and Akka 1.1.3
- split into spray-server, spray-client and spray-http
- added support for

  + gzip/deflate encodings
  + authentication/authorization (incl. HTTP Basic Auth)
  + proper server-side caching
  + even better path and parameter matching
  + case class extractions
  + spray-json (un)marshalling
  + Tomcat 6

- closed 27 tickets


Version 0.5.0 (2011-03-31)
--------------------------
first public release
Something went wrong with that request. Please try again.