vibe.d 0.7.17 release
vibe.d 0.7.17 release

Mon, 09 Sep 2013This release fixes compiling on DMD 2.063.2 and DMD HEAD and performs a big API cleanup by removing a lot of deprecated functionality and deprecating some additional symbols. New is also a better task local storage support, a SyslogLogger class and a number of smaller additions and bug fixes.
Features and improvements
- Compiles using DMD 2.063.2 and DMD HEAD
- Removed a big chunk of deprecated functionality and marked declarations "scheduled for deprecation" as actually deprecated
- Implemented
TaskPipe
to support piping of data between tasks/threads (usable for converting synchronous I/O to asynchronous I/O) - Implemented
TaskLocal!T
for faster and safer task local storage - Implemented a
SyslogLogger
class (by Jens K. Mueller) - pull #294 - Implement support for transferring pre-compressed files in the HTTP file server (by Jens K. Mueller) - pull #270
- Implemented a first version of
writeFormBody
(by Ben Gradham aka SerialVelocity) - pull #288 - Implemented
vibe.inet.message.decodeMessage
for decoding an internet message body - Implemented a moving
opCast
forIsolatedRef!T
to allow safe casting to base or derived classes and a booleanopCast
to allow checking fornull
- Implemented a basic version of a WinRT based driver
- Added
localAddress
andremoteAddress
properties toTCPConnection
- Added
localAddress
property and aconnect(NetworkAddress)
overload toUDPConnection
- Added
localAddress
property toHTTPClientRequest
- Added
setTaskEventCallback
to support task level debugging - Added
RedisClient.rpush
andRedisClient.rpushx
(by Martin Mauchauffée aka moechofe) - pull #280 - Added a write buffer size limit to
ChunkedOutputStream
- Added
HTTPClientResponse.disconnect
to force disconnecting the client during request handling - Deprecated the
index()
special method for the REST interface generator in favor of@path
(by Михаил Страшун aka Dicebot) MongoDatabase.runCommand
is now publicly accessible - issue #261- Cookies are now cleared on the client if set to
null
(by Sergey Shamov) - pull #293 - The optional
do_flush
argument ofOutputStream.write
has been removed - flushing needs to be done explicitly now
Bug fixes
- Fixed the HTTP file server to ignore directories (so that other handlers can e.g. generate an index page) - issue #256
- Fixed BSON/JSON (de)serialization of string type enum values
- Fixed inversion of boolean values when converting from
Json
toBson
(by Nicolas Sicard aka biozic) - pull #260 - Fixed a possible source for memory corruption by making allocators shared between threads
- Fixed
parseRFC822DateTimeString
(by Nathan M. Swan) - pull #264 - Fixed
adjustMethodStyle
to cope with non-ASCII characters and fixed conversion of identifiers starting with acronyms - Fixed preferring compression over non-chunked transfer when both are requested for
HTTPServerResponse.bodyWriter
(by Jens K. Mueller) - pull #268 - Fixed assertion in
HTTPClientReponse.~this
(was causing anInvalidMemoryOperationError
instead of the expectedAssertError
) - issue #273 - Fixed the VibeDist support code to match the latest VibeDist version (still WIP)
- Fixed
validateIdent
to properly check validity of the first character - Fixed handling of RFC2616 HTTP chunk extensions (ignoring them for now, by Nathan M. Swan) - pull #274
- Fixed
RedisClient.smembers
(by Nicolas Sigard aka biozic) - pull #277 - Fixed
RedisClient.echo
andRedisClient.lpop
(by Martin Mauchauffée aka moechofe) - pull #279 - Fixed
FixedRingBuffer.put
(used for message passing) - Fixed handling of out-of-memory situations in
MallocAllocator
- Fixed sending of
Isolated!T
values usingvibe.core.concurrency
- Fixed several concurrency related bugs in
ChunkedOutputStream
andLibevent2ManualEvent
- Fixed handling of the
max_lenger
parameter invalidateEmail
(by Mike Wey) - pull #296 - Fixed possible failed listen attempts in the example projects - issue #8, issue #249, issue #298
- Fixed compilation of the libevent2 driver on Win64
Comments for the post are currently disabled.
0 comments