Mostly only a bug fix release but of a couple that are very noteworthy
- Fix reliance on patching Uri to set an internal flag to NOT forcefully escape /'s. If you use '/' by default NEST will double escape these to
%252F
if you are able to set the following config value[see code sample 1] you can disable this double escaping by calling.SetDontDoubleEscapeDotsAndSlashes()
on theConnectionSettings
to have the '/' slashes properly encoded as%2F
. The patching code taken from http://mikehadlow.blogspot.nl/2011/08/how-to-stop-systemuri-un-escaping.html does not work reliably on Mono, please note that the linked config tweak does not seem to work on mono either so getting '/' properly encoded as '%2F' seems impossible on Mono the default of double escaping them works fine though. The one time reflection hack (from the linked article) sometimes failed on some Mono versions, this should now be fixed. - The default Connection always wrapped the async in a thread which is not necessary at all. Nest will now only wrap the async stuff in threads if
.SetMaximumAsyncConnections()
is set to anything greater then 0. There is now aNoTasksHttpConnection
as well which replaces the async routine to one which does't use tasks at all. Both implementations use IO completion ports but the overhead of tasks and yield means that in my first tests the NoTasksHttpConnection is around 1% faster. Many thanks to @henkish for filing #337 and submitting the taskless based async routine ! - Fix ClusterState API to have Mappings also. ty @Ashwinsa
- Added Boost method to RangeQueryDescriptor ty @freshmaker74
- added missing used_in_bytes property on NodeStats (ty @NickCraver for pinging me on twitter)
_Code sample 1_
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>