Skip to content

Releases: elastic/elasticsearch-net

5.3.0

30 Mar 04:53
Compare
Choose a tag to compare

Features & Enhancements

  • #2647 Major improvements for working with server and client certificates!
  • #2619 Added ability to filter nodes from sniffing via NodePredicate on IConnectionPool
  • #2632 AutoMap() will now map overridden/hidden properties
  • #2602 Index Settings: support for partitioning with custom routing
  • #2604 Analyze API: support for position_length
  • #2621 Aggregations: support for adjacency matrix aggregation
  • #2596 Search: support for field collapsing
  • #2592 Search: support for unified highlighter (5.3.0+)

Bug Fixes

  • #2624 Multiple fixes to the query profiler API
  • #2643 Fixed a date parsing issue when using covariant search
  • #2644 Fixed memory leak when using BulkAll (TY @sergii-sakharov !)
  • #2688 Added workaround for specifying a size with multi term rewrite
  • #2682, #2676 Fix issues around the include and exclude options of the terms and significant_terms aggregations
  • #2665 Add missing scripted upserts to bulk requests
  • #2690 NRE in IndexSettingsConverter when merge policy isn't set
  • #2685 Introduce EndOffset property on AnalyzeToken and deprecate misspelt EndPostion

Deprecations

  • #2611 Deprecated include_in_all mapping property

5.2.0

15 Feb 17:58
Compare
Choose a tag to compare

Features & Enhancements

  • #2591 Watcher: Added support for NotExecutedAlreadyQueued in ActionExecutionState
  • #2573 Added support for the new cluster allocation explain API response
  • #2580 Return warning HTTP headers as deprecations on response
  • #2579 Ingest: Added support for the json processor
  • #2577 Ingest: Added support for ignore_missing on the user_agent, geo_ip, and attachment processors
  • #2559 Ingest: Added support for the user_agent processor plugin
  • #2567 Analysis: Added support for the synonym_graph token filter
  • #2567 Analysis: Added support for normalizers in the analysis chain
  • #2558 Analysis: analysis_icu plugin is now supported out of the box
  • #2557 Analysis: Added support for the kuromoji analysis plugin
  • #2572 Mappings: Added support the new range types
  • #2575 Aggregations: Added support for terms aggregation partitioning
  • #2550 Added additional Fields convenience overloads
  • #2544 Added constants for all supported date formats

Improved debugging

  • #2425 Added the DebuggerDisplay attribute for all special types and mapping properties 🐛
  • #2538 Added EnableDebugMode() to ConnectionSettings as a quick way to disable direct streaming and pretty print JSON responses to the debug output window. It also accepts an optional callback to perform when the request completes.

Bug Fixes

  • #2581 Fix MissingMethodException when setting ConnectionLimit on Xamarin.Droid
  • #2564 Several xmldoc fixes; netstandard will now also ship with xmldocs 📄
  • #2586, #2582 More resilient error parsing
  • #2561 Fix Missing option on terms aggregation so that it can correctly be serialized to its field type
  • #2556 AutoMap() now correctly respects ignored and renamed properties on ConnectionSettings
  • #2497 Time did not support microseconds and nanoseconds properly
  • #2531 Using reserved aggregation tokens as keys now throws an exception
  • #2546 ReindexOnServer() was missing the remote option
  • #2548 Multiple serialization fixes to suggesters, and added missing smoothing models to phrase suggester
  • #2540 Fix _count with no body sending a POST instead of GET 🔢
  • Fixed caching of mapping properties when running on Core CLR
  • Core CLR http connection is now more defensive in how it queries the header collection

Deprecations

  • #2562 Dedicated Suggest() is now deprecated in favor of suggest through _search
  • #2573 Old cluster allocation explain properties are marked obsolete in favor of the new ones added in Elasticsearch 5.2

View the full list of issues and PRs

2.5.2

13 Jan 02:20
Compare
Choose a tag to compare

Enhancements

  • #2536 Enable .DisableDirectStreaming() on a per-request basis. This is useful when wishing to ad-hoc capture requests and responses.
  • #2387 Support geometrycollection for geo_shape types and queries 🌐
  • #2521 Improve DebugInformation with a string representation of CausedBy (ty @kirilyuro )
  • #2510 Avoid unnecessary DateTime allocations (ty @niemyjski )

Bug fixes

  • #2525 Fix spelling mistake in German Snowball Analyzer
  • #2503 Implement deserialization for TermsIncludeExclude to allow search requests that include it to be deserialized

Deprecations

  • #2506 Mark type level analyzers as obsolete. Will be removed in Elasticsearch 6.0.

Misc

  • 18aa4dc Limit version compatibility of NEST 2.x to 2.x versions of Elasticsearch.Net

View the full list of issues and PRs

5.0.1

12 Jan 14:26
Compare
Choose a tag to compare

Enhancements

  • #2532 Support geometrycollection for geo_shape types and queries 🌐
  • #2521 Improve DebugInformation with a string representation of CausedBy (ty @kirilyuro )
  • #2510 Avoid unnecessary DateTime allocations (ty @niemyjski )

Bug fixes

  • #2525 Fix spelling mistake in German Snowball Analyzer
  • #2516 Allow uppercase letters where index names are passed. Aliases still allow uppercase letters
  • #2513 Expose TermVector for TextProperty
  • #2503 Implement deserialization for TermsIncludeExclude to allow search requests that include it to be deserialized

Deprecations

  • #2506 Mark type level analyzers as obsolete. Will be removed in next major version of Elasticsearch.

View the full list of issues and PRs

1.9.2

12 Jan 12:30
Compare
Choose a tag to compare

Bug fixes

  • #2529 Allow scipting in metrics aggregations with script files and inline scripts
  • #2530 Support indexing of Json.NET JObject types

View the full list of issues and PRs

2.5.1

21 Dec 01:46
Compare
Choose a tag to compare

Enhancements

  • #2484 Limit the number of concurrent connections on .NET Core, similar to Desktop CLR.

  • #2451 Small Performance improvements

    Introduce a BufferSize property on JsonNetSerializer with a default size of 1024 to use when writing json to the request stream. Performance tests as part of #1899 indicate this to be a good compromise buffer size for performance throughput and bytes allocated.

  • #2495 Add important admonition (end of Simple Automapping section) to the documentation about the use of System.Decimal types as C# POCO properties

Bug fixes

  • #2479 Deserialize "value_as_string" for metric aggregations that return it
  • #2466 Deserialize attachment title when deserializing an Attachment type from _source or field data
  • #2464 Add the StringEnumConverter to StringFielddataFormat to always serialize as string. Introduce coding standard unit test to assert the converter is applied to all NEST enums
  • #2487 Fix the virality of &= in the bool query DSL
  • #2496 Allow SourceFiltering.Disable to be set to false. This is synonymous with the default, which is to return _source in the response.

Misc

  • #2488Tidy up TODOs and make the usage of NotSupportedException consistent across all internal JsonConverter types.
  • #2486 Generate asciidoc files as part of the build

View the full list of issues and PRs

5.0.0

13 Dec 02:34
Compare
Choose a tag to compare

GA release of NEST and Elasticsearch.Net 5.0 🎉

A huge thank you to the community who kicked the tires on the 5.0 prereleases that we've been putting out since April and provided us with invaluable feedback 🖖

Check out the blog post on the NEST 5.0 release that highlights some of the main features as well as take a look at the 2.x -> 5.x Breaking Changes for NEST and Breaking Changes for Elasticsearch.Net.

Features

Enhancements

  • #2473 Limit the number of concurrent connections on .NET Core, similar to Desktop CLR.

  • #2457 Use IndexName and TypeName types for Bulk*Many requests

  • #2459 Add type to set index auto expand replica setting

  • #2450 Add metadata for Security roles

  • #2462 ReindexAll() improvements

    ReindexAll() is now composed over the IObservables from ScrollAll() and BulkAll(), taking advantage of the concurrency models in each.

    Since the rate at which the scrolls produces far exceeds the rate at which we can consume them through bulks ReindexAll() also implements a producer/consumer rate limiter. This is controlled by a backPressureFactor which controls the max amplification factor of running scrolls with the safe guard of:

  searchSize * maxConcurrency * backPressureFactor >= bulkSize
  • #2451 Small Performance improvements

    Introduce a BufferSize property on JsonNetSerializer with a default size of 1024 to use when writing json to the request stream. Performance tests as part of #1899 indicate this to be a good compromise buffer size for performance throughput and bytes allocated.

  • #2480 Allow target document type to be different from source document type when performing reindex

Bug fixes

  • #2479 Deserialize "value_as_string" for metric aggregations that return it
  • #2466 Deserialize attachment title when deserializing an Attachment type from _source or field data
  • #2464 Add the StringEnumConverter to StringFielddataFormat to always serialize as string. Introduce coding standard unit test to assert the converter is applied to all NEST enums
  • #2468 Favour publish_address when sniffing cluster state
  • #2467 Fix the virality of &= in the bool query DSL

Misc

  • #2456 Tidy up TODOs and #2460 make the usage of NotSupportedException consistent across all internal JsonConverter types.
  • #2470 Add test collection filtering when running tests from the command line.

View the full list of issues and PRs

5.0.0-rc4

01 Dec 05:39
Compare
Choose a tag to compare
5.0.0-rc4 Pre-release
Pre-release

Features

Enhancements

  • #2430 Do not instantiate QueryContainerDescriptor<T> unneccessarily
  • #2389 Add support for UpdateMany() in the bulk API
  • #2418 Faster enum to string resolution
  • #2166 Allow DisableDirectStreaming() on a per request basis
  • #2336 Allow the key of a bucket aggregation to be read as any type; previously, it was always deserialized to string.

Bug Fixes

  • #2431 Add include_in_all onto TypeMapping

  • #2420 Fix the way in which HttpClient are created when using the HttpConnection on .NET Core. A HttpClient was created based on a hashcode of RequestData that included a regression bug that caused multiple instances of HttpClient to be created. Now, for RequestData where

    • RequestTimeout
    • HttpCompression
    • ProxyAddress
    • ProxyUsername
    • ProxyPassword
    • DisableAutomaticProxyDetection

    do not change, the same HttpClient instance will be used

  • #2428 Add specific type for term vectors in MutliTermVectorsResponse instead of reusing TermVectorsResponse

  • #2422 Use ScriptProcessorDescriptor in the fluent API of ingest node

  • #2440 Ensure that each part of the async pipeline for Desktop CLR HttpConnection can be cancelled correctly

Deprecations and Removals

  • #1958 Allow exceptions late in the pipeline to bubble out as UnexpectedElasticsearchClientException e.g. ResolveException that can happen within the transport when serializing to json.

View the full list of issues and PRs

2.5.0

01 Dec 05:24
Compare
Choose a tag to compare

Features

Enhancements

  • #2430 Do not instantiate QueryContainerDescriptor<T> unneccessarily
  • #2389 Add support for UpdateMany() in the bulk API
  • #2418 Faster enum to string resolution
  • #2414 Add Min NestedScoreMode

Bug Fixes

  • #2431 Add include_in_all onto TypeMapping

  • #2420 Fix the way in which HttpClient are created when using the HttpConnection on .NET Core. A HttpClient was created based on a hashcode of RequestData that included a regression bug that caused multiple instances of HttpClient to be created. Now, for RequestData where

    • RequestTimeout
    • HttpCompression
    • ProxyAddress
    • ProxyUsername
    • ProxyPassword
    • DisableAutomaticProxyDetection

    do not change, the same HttpClient instance will be used

  • #2142 Set the ApiCall details on each TermVectorsResponse in the collection of responses in a MultiTermVectorsResponse

  • #2440 Ensure that each part of the async pipeline for Desktop CLR HttpConnection can be cancelled correctly

View the full list of issues and PRs

5.0.0-rc3

24 Nov 07:35
Compare
Choose a tag to compare
5.0.0-rc3 Pre-release
Pre-release

Bug Fixes

  • #2412 Fix a number of dictionary serialization issues

A recent change did not handle a number of dictionary serialization cases including

  • types that implement IReadOnlyDictionary<TKey,TValue>

    e.g. public class MyReadOnlyDictionary<TKey,TValue> : IReadOnlyDictionary<TKey,TValue>

  • types that implement IDictionary<TKey, TValue>

    e.g. public class MyDictionary<TKey,TValue> : IDictionary<TKey,TValue>

  • non-generic types that inherit a closed generic dictionary type

    e.g. public class MyDictionary : Dictionary<string,object>

  • types that implement IDictionary that are not generic

    e.g. public class MyNonGenericDictionary : IDictionary