vibe.d 0.8.3 release
vibe.d 0.8.3 release

Thu, 08 Mar 2018The deprecation phase of the legacy "vibe-d:core" module starts with this release by defaulting to the new "vibe-core" package. Additionally, DMD 2.079.0 is supported and some notable improvements have been made to the HTTP implementation, with the URLRouter in particular, as well as other parts of the library.
Features and improvements
- The "vibe-core" package is now used by default - the "libevent"/"win32"/"libasync" configurations can still be used to continue using the legacy vibe-d:core package, but beware that it will be removed by the end of the year
- Compiles on DMD 2.073.2 up to 2.079.0 and LDC 1.3.0 up to 1.8.0
- HTTP sub system
URLRouter
has been refactored to avoid fragment the heap during the initialization phase, which can cut process memory usage dramatically - issue #1359, pull #2043- Added
WebSocketCloseReason
and improved close reason handling (by Andrew Benton) - pull #1990 - Added
HTTPClientSettings.tlsContextSetup
to enable more fine-grained TLS settings customization - pull #2071 - Added a check in
HTTPServerResponse.redirect
to avoid sending any control characters (e.g. header injections) - pull #2074 - Added
createDigestAuthHeader
to create a client header for HTTP digest authentication (by Tomáš Chaloupka) - pull #1931 - Deprecated all parsing related
HTTPServerOption
values (by Sebastian Wilzbach) - pull #1947 - Changed the HTTP file server to not send cache directives by default - pull #2031
- Added
RestInterfaceSettings.errorHandler
to enable customization of error responses - pull #2072 - Reworked MongoDB cursor support to properly support aggregation on 3.6 servers (by Jan Jurzitza aka WebFreak001) - issue #1718, issue #2036, pull #2037
- Changed the MongoDB code to default to SCRAM-SHA-1 authentication (by Sebastian Wilzbach) - issue #1967, pull #2027
- Made
remove
andexists
available from the variousRedis...
container types (by Geoffrey-A) - pull #2026 - Now uses
arc4random_buf
instead of "/dev/urandom" on systems that support it with a secure hash function (by Nathan Sashihara) - pull #2063 - Added conversion functions for
Json
<->std.json.JSONValue
(by Jan Jurzitza aka WebFreak001) - issue #1465, pull #1904, pull #2085
Bug fixes
- Fixed compilation on DragonFlyBSD (by Diederik de Groot) - pull #2028
- Fixed
RedisHash.opIndexAssign!"-"
(by Geoffrey-A) - pull #2013 - Fixed
DictionaryList
to work with class/interface types (by H. S. Teoh aka quickfur) - issue #2004, pull #2005 - Fixed compilation of types with
@system
getters/setters in the serialization module - issue #1991, issue #1941, pull #2001 - Fixed compilation of methods with unsafe return types in the REST interface generator (by Martin Nowak) - [pull #2035][issue2035]
- Fixed a connection leakage in
vibe.inet.urltransfer
(by Martin Nowak) - pull #2050 - Fixed parsing the host part of
file://
URLs - issue #2048, pull #2049 - Fixed handling of
https+unix://
URLs in the HTTP client (by Les De Ridder) - pull #2070 - Fixed the HTTP proxy mode to default to "reverse" (regression in 0.8.2) - pull #2056
- Fixed the HTTP client to send a valid "Host" header when requesting from an IPv6 URL - issue #2080, pull #2082
- Fixed the old
Path
implementation to preserve trailing slashes on Windows (by Martin Nowak) - pull #2079 - Fixed a regression (0.8.2) in
HTTPServerRequest.rootDir
- pull #2032
Switching back to the classic vibe-d:core
The old core implementation, although vibe-core
is the new default starting with this release, will still be supported until at least the end of this year. If you encounter any issues with vibe-core
, you can switch back to the old implementation by using a sub configuration directive in the package recipe:
SDL syntax:
dependency "vibe-d:core" version="~>0.8.3"
subConfiguration "vibe-d:core" "libevent"
JSON syntax:
{
...
"dependencies": {
...
"vibe-d:core": "~>0.8.3"
},
"subConfigurations": {
"vibe-d:core": "libevent"
}
}
The alternative configurations "win32"/"win32_mscoff" and "libasync" are also still available.
Download
http://code.dlang.org/packages/vibe-d/0.8.3
http://vibed.org/download?file=vibed-0.8.3.zip
https://github.com/rejectedsoftware/vibe.d/tree/67a1b36c05cd6322b293c25b6e42548e4546e932
Comments for the post are currently disabled.
0 comments