vibe.d beta banner
get vibe.d

Asynchronous I/O that doesn’t get in your way, written in D

vibe.d 0.7.31 release

vibe.d 0.7.31 release

Header image
Mon, 10 Apr 2017This release is a backport release of the smaller changes that go into 0.8.0. The 0.7.x branch will continue to be maintained for a short while, but only bug fixes will be included from now on. Applications should switch to the 0.8.x branch as soon as possible.

Features and improvements

  • Compiles on DMD 2.068.2 up to DMD 2.074.0
  • HTTP server
  • Added support for simple range queries in the HTTP file server (by Jan Jurzitza aka WebFreak001) - issue #716, pull #1634, pull #1636
  • The HTTP file server only sets a default content type header if none was already set (by Remi A. Solås aka rexso) - pull #1642
  • HTTPServerResponse.writeJsonBody only sets a default content type header if none was already set
  • HTTPServerResponse.writeBody only sets a default content type if none is already set - issue #1655
  • Added HTTPServerResponse.writePrettyJsonBody
  • Diet templates are rendered as pretty HTML by default if diet-ng is used (can be disabled using VibeOutputCompactHTML)
  • Reduced synchronization overhead in the libevent driver for entities that are single-threaded
  • The REST interface server now responds with prettified JSON if built in debug mode
  • Stack traces are only written in REST server responses in debug mode - issue #1623
  • The trigger mode for FileDescriptorEvent can now be configured (by Jack Applegame) - pull #1596
  • Added .byValue/.byKeyValue/.byIndexValue properties to Bson and Json as a replacement for opApply based iteration (see issue #1688)

Bug fixes

  • Fixed compile error for deserializing optional class/ struct` fields
  • Fixed GET requests in the REST client to not send a body
  • Fixed REST request responses that return void to not send a body
  • Fixed a possible idle loop in Task.join() if called from outside of an event loop
  • Fixed TaskPipe.waitForData to actually time out if a timeout value was passed - issue #1605
  • Fixed a compilation error for GDC master - issue #1602
  • Fixed a linker issue for LDC on Windows - issue #1629
  • Fixed a (single-threaded) concurrent AA iteration/write issue that could result in an access violation in the Win32 driver -