vibe.d beta banner
get vibe.d

vibe.d 0.7.16 release

Header image
Wed, 26 Jun 2013 This release finally features support for DMD 2.063. It also contains two breaking changes by removing support for the "vibe" script (aka VPM) and switching to an implicit task ownership model for streams (no more explicit acquire/release). It requires DUB 0.9.15 or later to build.

Features and improvements

  • Fiber ownership of network connections and file streams is now handled implicitly to be more in line with classic blocking I/O and to lower the code overhead to share/pass connections between threads
  • Removed support for the "vibe" script (aka "VPM") in favor of DUB
  • Uses external Deimos packages instead of the included copies for binding to external C libraries
  • Improvements on the REST interface front (by Михаил Страшун aka Dicebot):
    • registerRestInterface deduces the base interface from a passed class instance
    • New overload of registerRestInterface for use with @rootPath
  • Added an overload of handleWebSockets that takes a function pointer
  • Improved documentation of vibe.core.log and re-enabled logging of date/time to plain text log files
  • Compiles with the release version of DMD 2.063 (various authors involved)
  • The idle handler is now called after processing all events in a spinning round after yield() call
  • Added serveStaticFile in addition to serveStaticFiles - issue #227
  • The thread/fiber ID is logged again by default if verbose logging is enabled

Bug fixes

  • Fixed "INCR" and "DECR" methods in the Redis client - issue #200, issue #206
  • Fixed the utility HashMap to properly call GC.addRange on manually allocated memory
  • Fixed erroneous crosstalk between multiple ManualEvent instances in the libevent driver
  • Fixed self-sending of messages to the caller in vibe.core.concurrency
  • Fixed syntax errors in the documentation of URLRouter - issue #223
  • Fixed calling the HTML logger from a thread that is not registered with the D runtime
  • Fixed exitEventLoop with no call to enableWorkerThreads, as well as when called from the idle handler
  • Fixed HTTPServerRequest.path to contain the URL-decoded version of the path - issue #229
  • Fixed URLRouter to not extract parameters of partial matches - issue #230
  • Fixed documentation example of registerFormInterface
  • Fixed lax indentation style checking in the Diet template compiler
  • Fixed unit tests for parseMongoDBUrl after the recently added support for digest authentication
  • Fixed construction of Bson.Type.Regex Bson objects (by Rene Zwanenburg) - issue #238
  • Fixed handling of Windows UNC paths - See DUB issue #75
  • Fixed the Redis methods taking varargs - issue #234
  • Fixed failure to free memory after an SSLStream has failed to initiate the tunnel


Posted at 10:25:20 +0200 by Sönke Ludwig


Paul <> on Wed, 26 Jun 2013, 12:57:23 GMT:


Sönke <> on Wed, 26 Jun 2013, 13:57:31 GMT:


Do you use the latest DUB version? If yes, can you post the output of "dub -v" (by mail or in the forum)? I'll look into what goes wrong.

Paul <> on Thu, 27 Jun 2013, 04:58:06 GMT:

Hello! With latest version of dub problem is solved. (Just for information: Install dub-0.9.15-setup.exe but dub help shows DUB version v0.9.14-10-g03adfcf)

Sönke <> on Thu, 27 Jun 2013, 05:20:12 GMT:

Thanks! I've uploaded a new installer, with a new binary that prints the right version.

Commenting is currently disabled for this article.