Skip to content

Commit

Permalink
Merge branch '0.7.25'
Browse files Browse the repository at this point in the history
  • Loading branch information
s-ludwig committed Sep 19, 2015
2 parents 16c886c + 5d430f1 commit 7f4326f
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 16 deletions.
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,41 @@
Changelog
=========

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.

### 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
--------------------

Expand Down
2 changes: 1 addition & 1 deletion source/vibe/core/core.d
Original file line number Diff line number Diff line change
Expand Up @@ -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";


/**
Expand Down
12 changes: 6 additions & 6 deletions source/vibe/http/server.d
Original file line number Diff line number Diff line change
Expand Up @@ -188,18 +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.
This currently suffers from multiple DMD bugs - use renderCompat() instead for the time being.
You can call this function as a pseudo-member of `HTTPServerResponse` using
D's uniform function call syntax.
You can call this function as a 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)
Expand Down Expand Up @@ -1716,7 +1716,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) {
Expand Down
13 changes: 4 additions & 9 deletions source/vibe/templ/diet.d
Original file line number Diff line number Diff line change
Expand Up @@ -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__)
{
Expand Down Expand Up @@ -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__, ...)
{
Expand Down

0 comments on commit 7f4326f

Please sign in to comment.