[[release-notes-7.10.1]]
== {es} version 7.10.1

[[bug-7.10.1]]
[float]
=== Bug fixes

Search::
* Apply boost only once for distance_feature query {es-pull}63767[#63767]


[[release-notes-7.10.0]]
== {es} version 7.10.0

coming[7.10.0]

Also see <<breaking-changes-7.10,Breaking changes in 7.10>>.

[[breaking-7.10.0]]
[float]
=== Breaking changes

Authentication::
* API key name should always be required for creation {es-pull}59836[#59836] (issue: {es-issue}59484[#59484])

Network::
* Set specific keepalive options by default on supported platforms {es-pull}59278[#59278]



[[breaking-java-7.10.0]]
[float]
=== Breaking Java changes

Machine Learning::
* Deprecate allow_no_jobs and allow_no_datafeeds in favor of allow_no_match {es-pull}60601[#60601] (issue: {es-issue}60642[#60642])

Mapping::
* Pass SearchLookup supplier through to fielddataBuilder {es-pull}61430[#61430] (issue: {es-issue}59332[#59332])



[[deprecation-7.10.0]]
[float]
=== Deprecations

Cluster Coordination::
* Deprecate and ignore join timeout {es-pull}60872[#60872] (issue: {es-issue}60873[#60873])



[[feature-7.10.0]]
[float]
=== New features

Aggregations::
* Add rate aggregation {es-pull}61369[#61369] (issue: {es-issue}60674[#60674])

Features/Features::
* Add data tiers (hot, warm, cold, frozen) as custom node roles {es-pull}60994[#60994] (issue: {es-issue}60848[#60848])
* Allocate newly created indices on data_hot tier nodes {es-pull}61342[#61342] (issue: {es-issue}60848[#60848])

Features/ILM+SLM::
* ILM migrate data between tiers {es-pull}61377[#61377] (issue: {es-issue}60848[#60848])
* ILM: add force-merge step to searchable snapshots action {es-pull}60819[#60819] (issues: {es-issue}53488[#53488], {es-issue}56215[#56215])

Machine Learning::
* Implement AucRoc metric for classification {es-pull}60502[#60502] (issue: {es-issue}62160[#62160])

Mapping::
* Introduce 64-bit unsigned long field type {es-pull}60050[#60050] (issue: {es-issue}32434[#32434])

Search::
* Add search 'fields' option to support high-level field retrieval {es-pull}60100[#60100] (issues: {es-issue}49028[#49028], {es-issue}55363[#55363])



[[enhancement-7.10.0]]
[float]
=== Enhancements

Aggregations::
* Adds hard_bounds to histogram aggregations {es-pull}59175[#59175] (issue: {es-issue}50109[#50109])
* Allocate slightly less per bucket {es-pull}59740[#59740]
* Improve reduction of terms aggregations {es-pull}61779[#61779] (issue: {es-issue}51857[#51857])
* Speed up date_histogram by precomputing ranges {es-pull}61467[#61467]

Analysis::
* Support ignore_keywords flag for word delimiter graph token filter {es-pull}59563[#59563] (issue: {es-issue}59491[#59491])

Authentication::
* Cache API key doc to reduce traffic to the security index {es-pull}59376[#59376] (issues: {es-issue}53940[#53940], {es-issue}55836[#55836])
* Include authentication type for the authenticate response {es-pull}61247[#61247] (issue: {es-issue}61130[#61130])
* Oidc additional client auth types {es-pull}58708[#58708]
* Warn about unlicensed realms if no auth token can be extracted {es-pull}61402[#61402] (issue: {es-issue}61090[#61090])

Authorization::
* Add DEBUG logging for undefined role mapping field {es-pull}61246[#61246] (issue: {es-issue}48562[#48562])
* Add more context to index access denied errors {es-pull}60357[#60357] (issue: {es-issue}42166[#42166])

CRUD::
* Add configured indexing memory limit to node stats {es-pull}60342[#60342]
* Dedicated threadpool for system index writes {es-pull}61655[#61655]

Cluster Coordination::
* Add more useful toString on cluster state observers {es-pull}60277[#60277]
* Fail invalid incremental cluster state writes {es-pull}61030[#61030]
* Provide option to allow writes when master is down {es-pull}60605[#60605]

Distributed::
* Detect noop of update index settings {es-pull}61348[#61348]
* Thread safe clean up of LocalNodeModeListeners {es-pull}59932[#59932] (issue: {es-issue}59801[#59801])

Features/CAT APIs::
* Adding Hit counts and Miss counts for QueryCache exposed through REST API {es-pull}60114[#60114] (issue: {es-issue}48645[#48645])

Features/Features::
* Add aggregation list to node info {es-pull}60074[#60074] (issue: {es-issue}52057[#52057])
* Adding new `require_alias` option to indexing requests {es-pull}58917[#58917] (issue: {es-issue}55267[#55267])

Features/ILM+SLM::
* Move internal index templates to composable templates {es-pull}61457[#61457]

Features/Ingest::
* Add network from MaxMind Geo ASN database {es-pull}61676[#61676]
* Allow_duplicates option for append processor {es-pull}61916[#61916] (issue: {es-issue}57543[#57543])
* Configurable output format for date processor {es-pull}61324[#61324] (issue: {es-issue}42523[#42523])
* Enhance the ingest node simulate verbose output  {es-pull}60433[#60433] (issue: {es-issue}56004[#56004])
* Per processor description for verbose simulate {es-pull}58207[#58207] (issue: {es-issue}57906[#57906])
* Preserve grok pattern ordering and add sort option {es-pull}61671[#61671] (issue: {es-issue}40819[#40819])

Features/Java High Level REST Client::
* HLRC: UpdateByQuery API with wait_for_completion being false {es-pull}58552[#58552] (issues: {es-issue}35202[#35202], {es-issue}46350[#46350])

Infra/Core::
* Add logstash system index APIs {es-pull}53350[#53350]
* Deprecate REST access to System Indices {es-pull}60945[#60945]
* Speed up Compression Logic by Pooling Resources {es-pull}61358[#61358]
* System index reads in separate threadpool {es-pull}57936[#57936] (issues: {es-issue}37867[#37867], {es-issue}50251[#50251])

Infra/Logging::
* Do not create two loggers for DeprecationLogger {es-pull}58435[#58435]
* Header warning logging refactoring {es-pull}55941[#55941] (issues: {es-issue}52369[#52369], {es-issue}55699[#55699])
* Write deprecation logs to a data stream {es-pull}61484[#61484] (issues: {es-issue}46106[#46106], {es-issue}61474[#61474])

Infra/Packaging::
* Add UBI docker builds {es-pull}60742[#60742]
* Upgrade Centos version in Dockerfile to 8 {es-pull}59019[#59019]

Infra/Resiliency::
* Remove node from cluster when node locks broken {es-pull}61400[#61400] (issues: {es-issue}52680[#52680], {es-issue}58373[#58373])

Infra/Scripting::
* Augment String with sha1 and sha256 {es-pull}59671[#59671] (issue: {es-issue}59633[#59633])
* Converts casting and def support {es-pull}61350[#61350] (issue: {es-issue}59647[#59647])

Machine Learning::
* Add a "verbose" option to the data frame analytics stats endpoint {es-pull}59589[#59589] (issue: {es-issue}59125[#59125])
* Add new include flag to get trained models API for model training metadata {es-pull}61922[#61922]
* Add new feature_processors field for data frame analytics {es-pull}60528[#60528] (issue: {es-issue}59327[#59327])
* Add new n_gram_encoding custom processor {es-pull}61578[#61578]
* During nightly maintenance delete jobs whose original deletion tasks were lost {es-pull}60121[#60121] (issue: {es-issue}42840[#42840])
* Suspend persistence of trained model stats when ML upgrade mode is enabled {es-pull}61143[#61143]
* Calculate total feature importance to store with model metadata {ml-pull}1387[#1387]
* Change outlier detection feature_influence format to array with nested objects {ml-pull}1475[#1475], {es-pull}62068[#62068]
* Add timeouts to named pipe connections {ml-pull}1514[#1514], {es-pull}62993[#62993] (issue: {ml-issue}1504[#1504])

Mapping::
* Add field type for version strings {es-pull}59773[#59773] (issue: {es-issue}48878[#48878])
* Allow [null] values in [null_value] {es-pull}61798[#61798] (issues: {es-issue}7978[#7978], {es-issue}58823[#58823])
* Allow metadata fields in the _source {es-pull}61590[#61590] (issue: {es-issue}58339[#58339])

Network::
* Improve deserialization failure logging {es-pull}60577[#60577] (issue: {es-issue}38939[#38939])
* Log and track open/close of transport connections {es-pull}60297[#60297]

Performance::
* Speed up empty highlighting many fields {es-pull}61860[#61860]

SQL::
* Add option to provide the delimiter for the CSV format {es-pull}59907[#59907] (issue: {es-issue}41634[#41634])
* Implement DATE_PARSE function for parsing strings into DATE values {es-pull}57391[#57391] (issue: {es-issue}54962[#54962])
* Implement FORMAT function {es-pull}55454[#55454] (issue: {es-issue}54965[#54965])

Search::
* Avoid reloading _source for every inner hit {es-pull}60494[#60494] (issue: {es-issue}32818[#32818])
* Cancel multisearch when http connection closed {es-pull}61399[#61399]
* Enable cancellation for msearch requests {es-pull}61337[#61337]
* Executes incremental reduce in the search thread pool {es-pull}58461[#58461] (issues: {es-issue}51857[#51857], {es-issue}53411[#53411])
* Introduce point in time APIs in x-pack basic {es-pull}61062[#61062] (issues: {es-issue}26472[#26472], {es-issue}46523[#46523])
* ParametrizedFieldMapper to run validators against default value {es-pull}60042[#60042] (issue: {es-issue}59332[#59332])
* Add case insensitive flag for "term" family of queries {es-pull}61596[#61596] (issue: {es-issue}61546[#61546])
* Add case insensitive support for regex queries {es-pull}59441[#59441]
* Tweak toXContent implementation of ParametrizedFieldMapper {es-pull}59968[#59968]
* Implement fields value fetching for the `text`, `search_as_you_type` and `token_count` field types {es-pull}63515[#63515]

Snapshot/Restore::
* Add repositories metering API {es-pull}60371[#60371]
* Clone Snapshot API {es-pull}61839[#61839]
* Determine shard size before allocating shards recovering from snapshots {es-pull}61906[#61906]
* Introduce index based snapshot blob cache for Searchable Snapshots {es-pull}60522[#60522]
* Validate snapshot UUID during restore {es-pull}59601[#59601] (issue: {es-issue}50999[#50999])

Store::
* Report more details of unobtainable ShardLock {es-pull}61255[#61255] (issue: {es-issue}38807[#38807])


Transform::
* Add support for missing bucket {es-pull}59591[#59591] (issues: {es-issue}42941[#42941], {es-issue}55102[#55102])



[[bug-7.10.0]]
[float]
=== Bug fixes

Aggregations::
* Fix AOOBE when setting min_doc_count to 0 in significant_terms {es-pull}60823[#60823] (issues: {es-issue}60683[#60683], {es-issue}60824[#60824])

Allocation::
* Fix scheduling of ClusterInfoService#refresh {es-pull}59880[#59880]

Authorization::
* Fix doc-update interceptor for indices with DLS and FLS {es-pull}61516[#61516]
* Report anonymous roles in authenticate response {es-pull}61355[#61355] (issues: {es-issue}47195[#47195], {es-issue}53453[#53453], {es-issue}57711[#57711], {es-issue}57853[#57853])

CRUD::
* Propagate forceExecution when acquiring permit {es-pull}60634[#60634] (issue: {es-issue}60359[#60359])

Cluster Coordination::
* Reduce allocations when persisting cluster state {es-pull}61159[#61159]

Distributed::
* Fix cluster health rest api wait_for_no_initializing_shards bug {es-pull}58379[#58379]
* Fix cluster health when closing {es-pull}61709[#61709]

Engine::
* Fix estimate size of translog operations {es-pull}59206[#59206]

Features/ILM+SLM::
* Fix ILM history index settings {es-pull}61880[#61880] (issues: {es-issue}61457[#61457], {es-issue}61863[#61863])

Features/Java Low Level REST Client::
* Handle non-default port in Cloud-Id {es-pull}61581[#61581]

Features/Stats::
* Remove sporadic min/max usage estimates from stats {es-pull}59755[#59755]

Features/Watcher::
* Correct the query dsl for watching elasticsearch version {es-pull}58321[#58321] (issue: {es-issue}58261[#58261])
* Fix passing params to template or script failed in watcher {es-pull}58559[#58559] (issue: {es-issue}57625[#57625])

Geo::
* Fix wrong NaN comparison  {es-pull}61795[#61795] (issue: {es-issue}48207[#48207])

Infra/Core::
* Throws IndexNotFoundException in TransportGetAction for unknown System indices {es-pull}61785[#61785] (issue: {es-issue}57936[#57936])

Infra/Packaging::
* Allow running the Docker image with a non-default group {es-pull}61194[#61194] (issue: {es-issue}60864[#60864])
* Set the systemd initial timeout to 75 seconds {es-pull}60345[#60345] (issue: {es-issue}60140[#60140])

Machine Learning::
* Adjusting inference processor to support foreach usage {es-pull}60915[#60915] (issue: {es-issue}60867[#60867])
* Get data frame analytics jobs stats API can return multiple responses if more than one error {es-pull}60900[#60900] (issue: {es-issue}60876[#60876])
* Do not mark the data frame analytics job as FAILED when a failure occurs after the node is shutdown {es-pull}61331[#61331] (issue: {es-issue}60596[#60596])
* Improve handling of exception while starting data frame analytics process {es-pull}61838[#61838] (issue: {es-issue}61704[#61704])
* Fix progress on resume after final training has completed for classification and regression. Previously, progress was shown stuck at zero for final training. {ml-pull}1443[#1443]
* Avoid potential "Failed to compute quantile" and "No values added to quantile sketch" log errors training regression and classification models if there are features with mostly missing values {ml-pull}1500[#1500]
* Correct the anomaly detection job model state `min_version` {ml-pull}1546[#1546]

Mapping::
* Improve 'ignore_malformed' handling for dates {es-pull}60211[#60211] (issue: {es-issue}52634[#52634])

Network::
* Let `isInetAddress` utility understand the scope ID on ipv6 {es-pull}60172[#60172] (issue: {es-issue}60115[#60115])
* Suppress noisy SSL exceptions {es-pull}61359[#61359]

Search::
* Allows nanosecond resolution in search_after {es-pull}60328[#60328] (issue: {es-issue}52424[#52424])
* Consolidate validation for 'docvalue_fields' {es-pull}59473[#59473]
* Correct how field retrieval handles multifields and copy_to {es-pull}61309[#61309] (issue: {es-issue}61033[#61033])

Snapshot/Restore::
* Avoid listener call under SparseFileTracker#mutex {es-pull}61626[#61626] (issue: {es-issue}61520[#61520])
* Ensure repo not in use for wildcard repo deletes {es-pull}60947[#60947]
* Fix Test Failure in testCorrectCountsForDoneShards {es-pull}60254[#60254] (issue: {es-issue}60247[#60247])
* Minimize cache file locking during prewarming {es-pull}61837[#61837] (issue: {es-issue}58658[#58658])
* Prevent snapshots to be mounted as system indices {es-pull}61517[#61517] (issue: {es-issue}60522[#60522])

SQL::
* Allow unescaped wildcard (*) in LIKE pattern {es-pull}63428[#63428] (issue: {es-issue}55108[#55108])
