From f76a2fea7a2ba9b7ec426a96ac658b5f8bd0126a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Sun, 13 Sep 2015 12:00:27 +0200 Subject: [PATCH 1/6] Update change log. --- CHANGELOG.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91bbe101af..7013bd5c4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,41 @@ Changelog ========= +v0.7.25 - 2015-09- +-------------------- + +Mostly a bugfix release, including a regression fix in the web form parser. This release also drops official support for the DMD 2.065.0 front end (released February 2014), although it may continue to work for some time. + +### Features and improvements ### + +- Contains some compile fixes for the upcoming 2.069 version of DMD +- The REST interface generator adds support for `out`/`ref` `@headerParam` parameters +- Stripping `id`/`_id` fields for `RedisStripped!T` is now optional +- `registerWebInterface` and `registerRestInterface` now return the `URLRouter` instance to enable method chaining (by Martin Nowak) - [pull #1208][issue1208] + +### Bug fixes ### + +- Fixed parsing of multi-part forms when a `Content-Length` part header is present (by sigod) - [issue #1220][issue1220], [pull #1221][issue1221] +- Fixed parsing of multi-part forms that don't end in `"--\r\n"` (by Etienne Cimon) - [pull #1232][issue1232] +- Fixed an exception occurring in `waitForData()` when calling `Libevent2TCPConnection.close()` concurrently (by machindertech) - [pull #1205][issue1205] +- Fixed handling of `WebInterfaceSettings.ignoreTrailingSlash` for sub interfaces (by Marc Schütz) - [pull #1237][issue1237] +- Fixed an alignment issue in conjunction with atomic operations on the upcoming LDC 0.16.0 (by Kai Nacke aka redstar) - [pull #1255][issue1255] +- Fixed parsing of empty HTTP request headers - [issue #1254][issue1254] +- Fixed using the MongoDB client on a mongos instance - [pull #1246][issue1246] +- Fixed using `LibasyncUDPConnection.recv` without a timeout (by Daniel Kozak) - [pull #1242][issue1242] +- Fixed a regression in `RestInterfaceClient`, where a `get(T id)` method would result in a URL with two consecutive underscores + +[issue1205]: https://github.com/rejectedsoftware/vibe.d/issues/1205 +[issue1220]: https://github.com/rejectedsoftware/vibe.d/issues/1220 +[issue1221]: https://github.com/rejectedsoftware/vibe.d/issues/1221 +[issue1232]: https://github.com/rejectedsoftware/vibe.d/issues/1232 +[issue1237]: https://github.com/rejectedsoftware/vibe.d/issues/1237 +[issue1242]: https://github.com/rejectedsoftware/vibe.d/issues/1242 +[issue1246]: https://github.com/rejectedsoftware/vibe.d/issues/1246 +[issue1254]: https://github.com/rejectedsoftware/vibe.d/issues/1254 +[issue1255]: https://github.com/rejectedsoftware/vibe.d/issues/1255 + + v0.7.24 - 2015-08-10 -------------------- From c76c10a65da91972bfbcb7937a9a786bfbba1878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Sun, 13 Sep 2015 12:00:56 +0200 Subject: [PATCH 2/6] Bump version number. --- source/vibe/core/core.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/vibe/core/core.d b/source/vibe/core/core.d index 4af73296af..4a9fe28204 100644 --- a/source/vibe/core/core.d +++ b/source/vibe/core/core.d @@ -699,7 +699,7 @@ void setTaskEventCallback(TaskEventCb func) /** A version string representing the current vibe version */ -enum vibeVersionString = "0.7.24"; +enum vibeVersionString = "0.7.25"; /** From 3e4d95a8b0a0f6b14a7384f3e861309588978e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Fri, 18 Sep 2015 20:13:13 +0200 Subject: [PATCH 3/6] Remove outdated doc comment about renderCompat. Fixes rejectedsoftware/vibed.org#34. --- source/vibe/http/server.d | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/vibe/http/server.d b/source/vibe/http/server.d index f079cc0c82..a4359cb73d 100644 --- a/source/vibe/http/server.d +++ b/source/vibe/http/server.d @@ -190,8 +190,6 @@ void setVibeDistHost(string host, ushort port) /** Renders the given template and makes all ALIASES available to the template. - This currently suffers from multiple DMD bugs - use renderCompat() instead for the time being. - You can call this function as a member of HTTPServerResponse using D's uniform function call syntax. From 5b98bbc5c21da2db58a1c8d0ba13cf29a16d450c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Fri, 18 Sep 2015 20:17:58 +0200 Subject: [PATCH 4/6] Fix typo. Fixes #1272. --- source/vibe/http/server.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/vibe/http/server.d b/source/vibe/http/server.d index a4359cb73d..f7e562803f 100644 --- a/source/vibe/http/server.d +++ b/source/vibe/http/server.d @@ -1713,7 +1713,7 @@ private bool handleRequest(Stream http_stream, TCPConnection tcp_connection, HTT string dbg_msg; logDiagnostic("No response written for %s", req.requestURL); if (settings.options & HTTPServerOption.errorStackTraces) - dbg_msg = format("Not routes match path '%s'", req.requestURL); + dbg_msg = format("No routes match path '%s'", req.requestURL); errorOut(HTTPStatus.notFound, httpStatusText(HTTPStatus.notFound), dbg_msg, null); } } catch (HTTPStatusException err) { From f4a872f3554a2a77969729ccb0d0af4eeaa1e9f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Sat, 19 Sep 2015 19:30:47 +0200 Subject: [PATCH 5/6] Update change log. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7013bd5c4b..f4732edae4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ Changelog ========= -v0.7.25 - 2015-09- +v0.7.25 - 2015-09-20 -------------------- Mostly a bugfix release, including a regression fix in the web form parser. This release also drops official support for the DMD 2.065.0 front end (released February 2014), although it may continue to work for some time. From 5d430f1e687f01e726fa085cb18b3fc6140f0ec4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6nke=20Ludwig?= Date: Sat, 19 Sep 2015 19:38:03 +0200 Subject: [PATCH 6/6] Doc fixes. --- source/vibe/http/server.d | 10 ++++++---- source/vibe/templ/diet.d | 13 ++++--------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/source/vibe/http/server.d b/source/vibe/http/server.d index f7e562803f..703db2fe83 100644 --- a/source/vibe/http/server.d +++ b/source/vibe/http/server.d @@ -188,16 +188,18 @@ void setVibeDistHost(string host, ushort port) /** - Renders the given template and makes all ALIASES available to the template. + Renders the given Diet template and makes all ALIASES available to the template. - You can call this function as a member of HTTPServerResponse using D's uniform function - call syntax. + You can call this function as a pseudo-member of `HTTPServerResponse` using + D's uniform function call syntax. + + See_also: `vibe.templ.diet.compileDietFile` Examples: --- string title = "Hello, World!"; int pageNumber = 1; - res.render!("mytemplate.jd", title, pageNumber); + res.render!("mytemplate.dt", title, pageNumber); --- */ @property void render(string template_file, ALIASES...)(HTTPServerResponse res) diff --git a/source/vibe/templ/diet.d b/source/vibe/templ/diet.d index f5657e21df..431e33778b 100644 --- a/source/vibe/templ/diet.d +++ b/source/vibe/templ/diet.d @@ -39,12 +39,8 @@ import std.variant; /** - Parses the given diet template at compile time and writes the resulting - HTML code into 'stream'. - - Note that this function suffers from multiple compiler bugsin conjunction with local - variables passed as alias template parameters up to DMD 2.063.2. DMD 2.064 supposedly - has these fixed. + Parses the given Diet template at compile time and writes the resulting + HTML code into `stream__`. */ void compileDietFile(string template_file, ALIASES...)(OutputStream stream__) { @@ -84,10 +80,9 @@ void compileDietFileIndent(string template_file, size_t indent, ALIASES...)(Outp alias parseDietFile = compileDietFile; /** - Compatibility version of parseDietFile(). - - This function should only be called indirectly through HTTPServerResponse.renderCompat(). + Compatibility version of `parseDietFile` - scheduled for deprecation. + This function should only be called indirectly through `HTTPServerResponse.renderCompat()`. */ void compileDietFileCompat(string template_file, TYPES_AND_NAMES...)(OutputStream stream__, ...) {