The most important improvements are easier setup on Linux and Mac and an
important bug fix for TCP connections. Additionally, a lot of
performance tuning - mostly reduction of memory allocations - has been done.

The effective performance increase is quite moderate though, since most
of the time is spent in libevent and in the operating system. Native
back ends are one of the planned things for the next releases to be able
to squeeze out more performance. We will then also do some proper

Features and improvements:

  • A good amount of performance tuning of the HTTP server
  • Implemented vibe.core.core.yield(); this can be used to break up
    long computations into smaller parts to reduce latency for other tasks
  • Added and scripts that set a symlink in
    /usr/bin and a config file in /etc/vibe (Thanks to Jordi Sayol)
  • Installed VPM modules are now passed as version identifiers
    VPMpackagexyz to the application to allow for optional features
  • Improved serialization of structs/classes to Json/Bson - properties
    are now serialized and all non-field/property members are now ignored
  • Added directory handling functions to vibe.core.file (not using
    asynchronous operations, yet)
  • Improved the vibe shell script's compatibility

Bug fixes:

  • Fixed TcpConnection.close() for the libevent driver - this caused
    hanging page loads in some browsers
  • Fixed MongoDB connection handling to avoid secondary assertions
    being triggered in case of exceptions during the communication
  • Fixed JSON (de)serialization of structs and classes (member names
    were wrong)
  • Fixed (filter)urlEncode for character values < 0x10