Spray v1.1-RC1 Release Notes
Release Date: 2013-10-22 // over 10 years ago-
⬆️ Upgraded to Scala 2.10.3 and latest versions of all dependencies
spray-caching: added a size method to
Cache[V]
spray-can:
- "privatized" all classes/objects not meant to be part of public API
- replaced
InetSocketAddress
inHostConnectorSetup
with hostname/port pair (#394) - moved
client.ssl-encryption
setting from reference.conf intoHttp.Connect
message (#396) - when creating
HostConnectorSettings
expect client settings atspray.can.client
(#408) - introduced dedicated exceptions for connection failure and request timeout for host-level API
- made Content-Length a long value (#443)
- add auto-chunking for responses without content-length (#455)
- broke out
ServerSettings
timeout settings into sub case class (#489) - change rendering of default
User-Agent
(#462) - added support for custom status codes (#564)
- added explicit registration of chunk handler for incoming message chunks (#473)
- added client-side redirection following (#132)
- removed of
Http.Register::keepOpenOnPeerClosed
(#401) - a ton of other fixes, additions and smaller improvements
spray-http:
- added
startsWith
anddropChars
method to Uri.Path model - added support for
Accept
header extensions and media-type parameters (#310) - fixed raw queries performing %-decoding and not being rendered as raw (#330)
- made only standard charsets available as constants (#340)
- added model for CORS headers
- allowed empty
Host
headers - fixed
Location
header parsing to accept relative URIs (#484) - introduced
HttpData
model replacing the byte array inHttpBody
andMessageChunk
(#365) - added
CONNECT
method and support for custom HTTP methods (#428) - added
StatusCode::allowsEntity
member - made multipart form-data more flexible but have it adhere to the RFC more strictly
- introduced a distinction between "?key=" and "?key" in queries (#460)
- added effectivePort method on
Uri
- many other fixes, additions and smaller improvements
- added
spray-httpx:
- flexibilized
RequestBuilding
andResponseTransformation
by generalizing the~>
operator - added
mapHeaders
,removeHeader
andremoveHeaders
to RequestBuilding - moved
unmarshal
andunmarshalUnsafe
toUnmarshaller
object - changed default StringMarshaller to prefer
UTF-8
encoding overISO-8859-1
(#498) - added default marshallers for
ByteString
andHttpData
- changed default charset for
application/x-www-form-urlencoded
toUTF-8
(#526) - added support for custom
Content-Disposition
headers - added support for non-strict
FormDataUnmarshaller
- added
FromMessageUnmarshaller
,FromRequestUnmarshaller
andFromResponseUnmarshaller
- extended
MarshallingContext
with support for specifying additional HTTP headers - introduced
ToResponseMarshaller
and supporting infrastructure - added
Unmarshaller.oneOf
to create negotiatingUnmarshaller
(#581) - added support for play-json (un)marshalling
- many other fixes, additions and smaller improvements
- flexibilized
spray-io:
- upgraded to latest upstream Akka IO additions and fixes
- significantly improved
SslTlsSupport
(#544) - smaller fixes, additions and improvements
spray-routing:
- added
headerValueByName(Symbol)
andoptionalHeaderValueByName(Symbol)
overload - added
rejection
parameter toDirective::hrequire
andDirective::require
- added
separateOnSlashes
helper for PathMatchers (#334) - moved
UserPassAuthenticator.cached
toCachedUserPassAuthenticator.apply
(#352) - redefined
PathMatchers.Empty
asPathMatchers.Neutral
with explicit type annotation (#339) - renamed
PathMatcher.(flat)map
=>h(flat)map
, introducedmap/flatMap
(#274) - added
detach
directive which executes its inner route in a future, removeddetachTo
(#240) - added
scheme
directives - added
PathMatchers.Segments
which will match all remaining segments asList[String]
- added some higher-level compression/decompression directives
- added
autoChunkFileBytes
directive - fixed
getFromDirectory
andgetFromResourceDirectory
not working properly for URIs with encoded chars - added
requestInstance
andrequestUri
directives (#525) - removed layer of
*Aux
classes by type aliases for simplicity - removed
CompletionMagnet
in favor of newToResponseMarshaller
- removed superfluous
RequestContext::complete
overloads - added
PathMatcher::?
modifier, removedSlash_!
- many other fixes, additions and smaller improvements
- added
spray-servlet:
- added support for providing the
javax.servlet.http.HttpServletRequest
in a special header - added
illegal-header-warnings
setting in analogy to spray-can (#553) - added
spray.servlet.uri-parsing-mode
setting (#574) - smaller fixes, additions and improvements
- added support for providing the