vibe.d 0.7.29 release
vibe.d 0.7.29 release

Mon, 04 Jul 2016Brings a broad set of improvements and upgrades the code base for DMD 2.071.x. The URLRouter has also received some notable performance improvements.
Features and improvements
- Dropped support for DMD frontend versions below 2.067.x - supports 2.067.1 up to 2.071.0 now
- Removed the libev driver
- Removed all deprecated symbols
- Heavily optimized the
URLRouter
(>5x faster initial match graph building and around 60% faster route match performance) - Added CONNECT and
Connection: Upgrade
support to the reverse proxy module (by Georgi Dimitrov) - pull #1392 - Added support for using an explicit network interface for outgoing TCP and HTTP connections - pull #1407
- Cookies are now stored with their raw value, enabling handling of non-base64 encoded values (by Yannick Koechlin) - pull #1401
- Added HyperLogLog functions to the Redis client (by Yannick Koechlin) - pull #1435
- Added
RestInterfaceSettings.httpClientSettings
- Added
HTTPClientSettings.dnsAddressFamily
- Added
TCPListener.bindAddress
- Made
@ignore
,@name
,@optional
,@byName
and@asArray
serialization attributes customizable per serialization policy - pull #1438, issue #1352 - Added
HTTPStatus.unavailableForLegalReasons
(by Andrew Benton) - pull #1358 - Added support or logger implementations that can log multiple lines per log call (by Martin Nowak) - pull #1428
- Added
HTTPServerResponse.connected
(by Alexander Tumin) - pull #1474 - Added allocation free string conversion methods to
NetworkAddress
- Added diagnostics in case of connections getting closed during process shutdown (after the driver is already shut down) - issue #1452
- Added
disableDefaultSignalHandlers
that can be used to avoid vibe.d registering its default signal handlers - pull #1454, issue #1333 - Added detection of SQLite data base extensions for
getMimeTypeForFile
(by Stefan Koch) - pull #1456 - The markdown module now emits XHTML compatible
<br/>
tags (by Stefan Schmidt) - pull #1461 - Added
RedisDatabase.srandMember
overload taking a count (by Yannick Koechlin) - pull #1447 - The HTTP client now accepts
const
settings - Removed the libevent/Win64 configuration as the libevent binaries for that platform never existed - issue #832
- Improvements to the WebSockets module, most notably reduction of memory allocations (by Mathias Lang) - [pull #1497][issue1497]
- Added version
VibeNoOpDispatch
to force removal ofopDispatch
forJson
andBson
(by David Monagle) - pull #1526 - Added a manual deprecation message for
Json.opDispatch
/Bson.opDispatch
becausedeprecated
did not have an effect
Bug fixes
- Fixed the internal
BsonObjectID
counter to be initialized with a random value (by machindertech) - pull #1128 - Fixed a possible race condition for ID assignment in the libasync driver (by Etienne Cimon) - pull #1399
- Fixed compilation of
Bson.opt
for both const and non-const AAs/arrays - issue #1394 - Fixed handling of POST methods in the REST JavaScript client for methods with no parameters - issue #1434
- Fixed
RedisDatabase.blpop
andRedisList.removeFrontBlock
- Fixed a protocol error/assertion failure when a redis reply threw an exception - pull #1416, issue #1412
- Fixed possible assertion failures "Manually resuming taks that is already scheduled"
- Fixed FreeBSD and NetBSD support (by Nikolay Tolstokulakov) - pull #1448
- Fixed handling of multiple methods with
@headerParam
parameters with the same name (by Irenej Marc) - pull #1453 - Fixed calling
async()
with an unshared delegate or with a callback that returns aconst
/immutable
result - Fixed
Tid
to be considered safe to pass between threads (for worker tasks orvibe.core.concurrency
) - Fixed the
HTTPClient
/download()
to properly use TLS when redirects happen between HTTP and HTTPS (by Martin Nowak) - pull #1265 - Fixed recognizing certain HTTP content encoding strings ("x-gzip" and "") (by Ilya Yaroshenko) - pull #1477
- Fixed parsing IPv6 "Host" headers in the HTTP server - issue #1388, issue #1402
- Fixed an assertion failure when using threads together with
VibeIdleCollect
- issue #1476 - Fixed parsing of
vibe.conf
files that contain a UTF BOM - issue #1470 - Fixed
@before
/@after
annotations to work for template member functions - Fixed "Host" header handling in the HTTP server (now optional for HTTP/1.0 and responds with "bad request" if missing)
- Fixed
Json
to work at CTFE (by Mihail-K) - pull #1489 - Fixed
adjustMethodStyle
(used throughoutvibe.web
) for method names with trailing upper case characters - Fixed alignment of the
Json
type on x64, fixes possible dangling pointers due to the GC not recognizing unaligned pointers - issue #1504 - Fixed serialization policies to work for enums and other built-in types (by Tomáš Chaloupka) - pull #1500
- Fixed a bogus assertion error in
Win32TCPConnection.tcpNoDelay
and.keepAlive
(by Денис Хлякин aka aka-demik) - pull #1514 - Fixed a deadlock in
TaskPipe
- [issue #1501][issue1501]
Download
http://code.dlang.org/packages/vibe-d/0.7.29
http://vibed.org/download?file=vibed-0.7.29.zip
https://github.com/rejectedsoftware/vibe.d/tree/94796d83f63ae42578ba34bf3465387a8700c26b
Comments for the post are currently disabled.
0 comments