Changelog History
Page 3
-
v1.0-M4 Changes
October 19, 2012- โฌ๏ธ Upgraded to parboiled 1.1.3 and spray-json 1.2.2
- routing: further flexibilized directive combination with StandardRoutes
- routing: (re)added 'complete' overload taking a Future[HttpResponse], closes #143
routing: added new directives:
- unmatchedPath
- listDirectoryContents
- getFromBrowseableDirectory / getFromBrowseableDirectories
๐ smaller fixes and improvements
-
v1.0-M3 Changes
October 12, 2012๐จ Largest refactoring in the history of the project. Lots of breaking changes. Most importantly:
- ๐ Completely new documentation at http://spray.io
- ๐ Renamed group id from "cc.spray" to "io.spray"
- ๐ฆ Renamed packages from "cc.spray..." to simply "spray..."
- ๐จ Completely refactored suite module structure (from 4 to 10+1 modules)
- ๐ Improved naming of many identifiers across the board
- Completely new architecture underneath routing DSL
- Completely new Marshalling and Unmarshalling infrastructure
- ...
-
v1.0-M2 Changes
May 16, 2012spray-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
-
v1.0-M1 Changes
April 05, 2012- ๐ 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
-
v0.9.0 Changes
March 07, 2012- ๐ 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)
-
v0.9.0-RC4 Changes
February 27, 2012- ๐ 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)
-
v0.9.0-RC3 Changes
February 22, 2012- ๐ Fixed #78 (spray-client: unexpected closing of connection not properly handled)
-
v0.9.0-RC2 Changes
February 17, 2012- โฌ๏ธ 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 OptionT
- โ Added TwirlSupport trait
- ๐ Improved DebuggingDirectives trait, added logRequestResponse directive
- ๐ Improved relaxed header parsing to also accept custom HttpCharsets
-
v0.9.0-RC1 Changes
February 03, 2012โฌ๏ธ 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
-
v0.8.0 Changes
November 16, 2011โฌ๏ธ 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