vibe.d beta banner
get vibe.d

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

vibe.d 0.7.26 release

vibe.d 0.7.26 release

Header image
Wed, 04 Nov 2015A large revamp of the REST interface generator was done in this release, which will enable faster future developments. The new JavaScript client generator is the first feature made possible by this. Apart from a good chunk of functional improvements in various areas, a notable change on the build level is that the VibeCustomMain version is no longer required for projects that implement their own main function.

Features and improvements

  • Compiles on 2.066.x up to 2.069.0
  • Removed deprecated symbols and deprecated those that were scheduled for deprecation
  • The VibeCustomMain version identifier is now a no-op and the new default behavior
  • Added a JavaScript REST client generator to - pull #1209
  • Added translation support for plural forms in vibe.web.i18n (by Nathan Coe) - pull #1290
  • Added a fiber compatible read-write mutex implementation (TaskReadWriteMutex) (by Manuel Frischknecht) - pull #1287
  • Added vibe.http.fileserver.sendFile
  • Added ALPN support to the TLS module (by Etienne Cimon)
  • Added an optional Botan based TLS implementation (by Etienne Cimon)
  • Switched the vibe.core.log module to support allocation-less logging (range like interface)
  • Removed all intrinsic dynamic allocations in all built-in logger implementations - this makes it possible to log from within class finalizers
  • Added Cookie.toString() (by Etienne Cimon)
  • Added MarkdownSettings.urlFilter in order to be able to customize contained links
  • Made Json.toString @safe so that Json values can be logged using std.experimental.logger
  • Added HTTPServerRequest.noLog, usable to disable access logging for particular requests (by Márcio Martins) - pull #1281
  • Added support for static array parameters in vibe.web.web
  • Added LocalTaskSemaphore, a single-threaded task-compatible semaphore implementation (by Etienne Cimon)
  • Added ConnectionPool.maxConcurrency (by Etienne Cimon)
  • Added MongoCollection.findAndModifyExt, which takes a parameter with custom options - issue #911
  • TLSVersion.any now only matches TLS 1.0 and up; SSL 3 is explicitly excluded (by Márcio Martins) - pull #1280
  • Removed some bad dependencies to prepare for splitting up the library (dependency cycles between low-level and high-level packages)
  • Implemented timer support for the libev driver - pull #1206
  • Improved the method prefix semantics in the web/REST interface generators, so that only whole words are recognized
  • Mime type "application/vnd.api+json" is now recognized to have a JSON body in the HTTP server (by Szabo Bogdan) - pull #1296

Bug fixes

  • Fixes in the libasync driver (by Etienne Cimon)
  • Various correctness and crash fixes
  • Fixed handling files with non-ASCII characters on Windows - pull #1273
  • Fixed timers with a zero timeout - pull #1204
  • Fixed a possible TCP connection stall for blocking writes - pull #1247
  • Fixed partially dropped data for TCP connections - issue #1297, pull #1298
  • Fixed properly waiting for blocking operations - issue #1227
  • Missing HTML form parameters are now properly handled by @errorDisplay in the web interface generator
  • Fixed bogus Diet template dependencies caused by interpreting all lines that started with "extends ..." as extension directives
  • Fixed runWorkerTaskH to be callable outside of a task context - pull #1206
  • Fixed LibevManualEvent to actually work across threads - pull #1206
  • Fixed a bug in the shutdown sequence that could cause the application to hang if worker threads had been started - pull #1206
  • Fixed multiple loggers not working - issue #1294
  • Fixed workerThreadCount to always return a non-zero number by letting it start up the workers if necessary
  • Fixed Path.toString() to output trailing slashes if required for empty paths
  • Fixed an TLS connection failure in the OpenSSL based implementation when no peer_name was set
  • Fixed linking on Debian, which has removed certain public OpenSSL functions (by Luca Niccoli) - issue #1315, pull #1316
  • Fixed an assertion happening when parsing malformed URLs - issue #1318


Posted at 08:20:19 +0100 by Sönke Ludwig

Comments for the post are currently disabled.