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

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

[[enhancement-7.2.1]]
[float]
=== Enhancements

Infra/Core::
* Add default CLI JVM options {es-pull}44545[#44545] (issue: {es-issue}42021[#42021])

Infra/Plugins::
* Do not checksum all bytes at once in plugin install {es-pull}44649[#44649] (issue: {es-issue}44545[#44545])

Machine Learning::
* Improve message when native controller cannot connect {es-pull}43565[#43565] (issue: {es-issue}42341[#42341])
* Introduce a setting for the process connect timeout {es-pull}43234[#43234]

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

Analysis::
* Issue deprecation warnings for preconfigured delimited_payload_filter {es-pull}43684[#43684] (issues: {es-issue}26625[#26625], {es-issue}43568[#43568])

Authentication::
* Fix credential encoding for OIDC token request {es-pull}43808[#43808] (issue: {es-issue}43709[#43709])

Data Frame::
* Reorder format priorities in dest mapping {es-pull}43602[#43602]
* Adjust error message {es-pull}43455[#43455]
* Size the GET stats search by number of Ids requested {es-pull}43206[#43206] (issue: {es-issue}43203[#43203])

Distributed::
* Fix DefaultShardOperationFailedException subclass xcontent serialization {es-pull}43435[#43435] (issue: {es-issue}43423[#43423])

Engine::
* AsyncIOProcessor preserve thread context {es-pull}43729[#43729]

Features/CAT APIs::
* Fix indices shown in _cat/indices {es-pull}43286[#43286] (issues: {es-issue}33888[#33888], {es-issue}38824[#38824], {es-issue}39933[#39933])

Features/ILM::
* Account for node versions during allocation in ILM Shrink {es-pull}43300[#43300] (issue: {es-issue}41879[#41879])

Features/Indices APIs::
* Check shard limit after applying index templates {es-pull}44619[#44619] (issues: {es-issue}34021[#34021], {es-issue}44567[#44567], {es-issue}44619[#44619])
* Validate index settings after applying templates {es-pull}44612[#44612] (issues: {es-issue}34021[#34021], {es-issue}44567[#44567])
* Prevent NullPointerException in TransportRolloverAction {es-pull}43353[#43353] (issue: {es-issue}43296[#43296])

Infra/Packaging::
* Restore setting up temp dir for windows service {es-pull}44541[#44541]
* Fix the bundled jdk flag to be passed through windows startup {es-pull}43502[#43502]

Machine Learning::
* Fix datafeed checks when a concrete remote index is present {es-pull}43923[#43923]
* Don't persist model state at the end of lookback if the lookback did not generate any input {ml-pull}527[#527] (issue: {ml-issue}519[#519])
* Don't write model size stats when job is closed without any input {ml-pull}516[#516] (issue: {ml-issue}394[#394])

Mapping::
* Prevent types deprecation warning for indices.exists requests {es-pull}43963[#43963] (issue: {es-issue}43905[#43905])
* Add include_type_name in indices.exitst REST API spec {es-pull}43910[#43910] (issue: {es-issue}43905[#43905])
* Fix index_prefix sub field name on nested text fields {es-pull}43862[#43862] (issue: {es-issue}43741[#43741])

Network::
* Reconnect remote cluster when seeds are changed {es-pull}43379[#43379] (issue: {es-issue}37799[#37799])

SQL::
* Fix NPE in case of subsequent scrolled requests for a CSV/TSV formatted response {es-pull}43365[#43365] (issue: {es-issue}43327[#43327])
* Increase hard limit for sorting on aggregates {es-pull}43220[#43220] (issue: {es-issue}43168[#43168])

Search::
* Fix wrong logic in `match_phrase` query with multi-word synonyms {es-pull}43941[#43941] (issue: {es-issue}43308[#43308])
* Fix UOE on search requests that match a sparse role query {es-pull}43668[#43668] (issue: {es-issue}42857[#42857])
* Fix propagation of enablePositionIncrements in QueryStringQueryBuilder {es-pull}43578[#43578] (issue: {es-issue}43574[#43574])
* Fix round up of date range without rounding {es-pull}43303[#43303] (issue: {es-issue}43277[#43277])

Security::
* SecurityIndexSearcherWrapper doesn't always carry over caches and similarity {es-pull}43436[#43436]


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

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

[float]
=== Known issues

* Applying deletes or updates on an index after it has been shrunk may corrupt
the index. In order to prevent this issue, it is recommended to stop shrinking
read-write indices. For read-only indices, it is recommended to force-merge
indices after shrinking, which significantly reduces the likeliness of this
corruption in the case that deletes/updates would be applied by mistake. This
bug is fixed in {es} 7.7 and later versions. More details can be found on the
https://issues.apache.org/jira/browse/LUCENE-9300[corresponding issue].

* Indices created in 6.x with <<date,`date`>> and <<date_nanos,`date_nanos`>> fields using formats
that are incompatible with java.time patterns will cause parsing errors, incorrect date calculations or wrong search results.
https://github.com/elastic/elasticsearch/pull/52555
This is fixed in {es} 7.7 and later versions.

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

Cluster Coordination::
* Reject port ranges in `discovery.seed_hosts` {es-pull}41404[#41404] (issue: {es-issue}40786[#40786])


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

Infra/Plugins::
* Remove IndexStore and DirectoryService {es-pull}42446[#42446]


[[deprecation-7.2.0]]
[float]
=== Deprecations

Authorization::
* Deprecate permission over aliases {es-pull}38059[#38059]

Features/Features::
* Add deprecation check for ILM poll interval <1s {es-pull}41096[#41096] (issue: {es-issue}39163[#39163])

Mapping::
* Enforce Completion Context Limit {es-pull}38675[#38675] (issue: {es-issue}32741[#32741])

Reindex::
* Reindex from remote deprecation of escaped index {es-pull}41005[#41005] (issue: {es-issue}40303[#40303])

Search::
* Deprecate using 0 value for `min_children` in `has_child` query #41548 {es-pull}41555[#41555] (issue: {es-issue}41548[#41548])
* Deprecate support for first line empty in msearch API {es-pull}41442[#41442] (issue: {es-issue}41011[#41011])

Security::
* Deprecate the native realm migration tool {es-pull}42142[#42142]

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

Authentication::
* Add an OpenID Connect authentication realm {es-pull}40674[#40674]

Distributed::
* Add support for replicating closed indices {es-pull}39499[#39499] (issues: {es-issue}33888[#33888], {es-issue}33903[#33903], {es-issue}37359[#37359], {es-issue}37413[#37413], {es-issue}38024[#38024], {es-issue}38326[#38326], {es-issue}38327[#38327], {es-issue}38329[#38329], {es-issue}38421[#38421], {es-issue}38631[#38631], {es-issue}38767[#38767], {es-issue}38854[#38854], {es-issue}38955[#38955], {es-issue}39006[#39006], {es-issue}39110[#39110], {es-issue}39186[#39186], {es-issue}39249[#39249], {es-issue}39364[#39364])

Infra/Scripting::
* Add painless string split function (splitOnToken) {es-pull}39772[#39772] (issue: {es-issue}20952[#20952])
* Add a Painless Context REST API {es-pull}39382[#39382]

Machine Learning::
* Add data frame feature {es-pull}38934[#38934]

Ranking::
* Expose proximity boosting {es-pull}39385[#39385] (issue: {es-issue}33382[#33382])
* Add randomScore function in script_score query {es-pull}40186[#40186] (issue: {es-issue}31461[#31461])

SQL::
* Add initial geo support {es-pull}42031[#42031] (issues: {es-issue}29872[#29872], {es-issue}37206[#37206])
* Implement CASE... WHEN... THEN... ELSE... END {es-pull}41349[#41349] (issue: {es-issue}36200[#36200])
* Introduce MAD (MedianAbsoluteDeviation) aggregation {es-pull}40048[#40048] (issue: {es-issue}39597[#39597])
* Introduce SQL TIME data type {es-pull}39802[#39802] (issue: {es-issue}38174[#38174])
* Introduce the columnar option for REST requests {es-pull}39287[#39287] (issue: {es-issue}37702[#37702])

Snapshot/Restore::
* Allow snapshotting replicated closed indices {es-pull}39644[#39644] (issue: {es-issue}33888[#33888])

Suggesters::
* Search as you type fieldmapper {es-pull}35600[#35600] (issue: {es-issue}33160[#33160])

Features/Ingest::
* Add HTML strip processor {es-pull}41888[#41888]

Search::
* Add an option to force the numeric type of a field sort {es-pull}38095[#38095] (issue: {es-issue}32601[#32601])


[[enhancement-7.2.0]]
[float]
=== Enhancements

Aggregations::
* Use the breadth first collection mode for significant terms aggs. {es-pull}29042[#29042] (issue: {es-issue}28652[#28652])
* Disallow null/empty or duplicate composite sources {es-pull}41359[#41359] (issue: {es-issue}32414[#32414])
* Move top-level pipeline aggs out of QuerySearchResult {es-pull}40319[#40319] (issue: {es-issue}40177[#40177])
* Remove throws IOException from PipelineAggregationBuilder#create {es-pull}40222[#40222]
* Better error messages when pipelines reference incompatible aggs {es-pull}40068[#40068] (issues: {es-issue}25273[#25273], {es-issue}30152[#30152])
* Do not allow Sampler to allocate more than maxDoc size, better CB accounting {es-pull}39381[#39381] (issue: {es-issue}34269[#34269])
* Force selection of calendar or fixed intervals in date histo agg {es-pull}33727[#33727]

Allocation::
* Reset failed allocation counter before executing routing commands {es-pull}41050[#41050] (issue: {es-issue}39546[#39546])
* Supporting automatic release of index blocks. Closes #39334 {es-pull}40338[#40338] (issue: {es-issue}39334[#39334])

Analysis::
* Add flag to declare token filters as updateable {es-pull}36103[#36103] (issue: {es-issue}29051[#29051])

Authentication::
* Hash token values for storage {es-pull}41792[#41792] (issues: {es-issue}39631[#39631], {es-issue}40765[#40765])
* Security Tokens moved to a new separate index {es-pull}40742[#40742] (issue: {es-issue}34454[#34454])
* Support concurrent refresh of refresh tokens {es-pull}39631[#39631] (issue: {es-issue}36872[#36872])
* Add enabled status for token and api key service {es-pull}38687[#38687] (issue: {es-issue}38535[#38535])

Authorization::
* Support mustache templates in role mappings {es-pull}39984[#39984] (issue: {es-issue}36567[#36567])
* Add .code_internal-* index pattern to kibana user {es-pull}42247[#42247]
* Add granular API key privileges {es-pull}41488[#41488] (issue: {es-issue}40031[#40031])
* Add Kibana application privileges for monitoring and ml reserved roles {es-pull}40651[#40651]
* Support roles with application privileges against wildcard applications {es-pull}40398[#40398]

CCR::
* Replay history of operations in remote recovery {es-pull}39153[#39153] (issues: {es-issue}35975[#35975], {es-issue}39000[#39000])

CRUD::
* Add details to BulkShardRequest#getDescription() {es-pull}41711[#41711]
* Add version-based validation to reindex requests {es-pull}38504[#38504] (issue: {es-issue}37855[#37855])

Cluster Coordination::
* Add GET /_cluster/master endpoint {es-pull}40047[#40047]
* Only connect to new nodes on new cluster state {es-pull}39629[#39629] (issues: {es-issue}29025[#29025], {es-issue}31547[#31547])
* Add has_voting_exclusions flag to cluster health output {es-pull}38568[#38568]

Data Frame::
* Persist and restore checkpoint and position {es-pull}41942[#41942] (issue: {es-issue}41752[#41752])
* Complete the Data Frame task on stop {es-pull}41752[#41752]
* Data Frame stop all {es-pull}41156[#41156]
* Data Frame HLRC Get Stats API {es-pull}40327[#40327]
* Data Frame HLRC Get API {es-pull}40209[#40209]
* Data Frame HLRC Preview API {es-pull}40206[#40206]
* Data Frame HLRC start & stop APIs {es-pull}40154[#40154] (issue: {es-issue}29546[#29546])
* Add Data Frame client to the Java HLRC {es-pull}39921[#39921]

Discovery-Plugins::
* Upgrade SDK and test discovery-ec2 credential providers {es-pull}41732[#41732]

Distributed::
* Prevent in-place downgrades and invalid upgrades {es-pull}41731[#41731]
* Add index name to cluster block exception {es-pull}41489[#41489] (issue: {es-issue}40870[#40870])
* Noop peer recoveries on closed index {es-pull}41400[#41400] (issue: {es-issue}33888[#33888])
* Do not trim unsafe commits when open readonly engine {es-pull}41041[#41041] (issue: {es-issue}33888[#33888])
* Avoid background sync on relocated primary {es-pull}40800[#40800] (issue: {es-issue}40731[#40731])
* No mapper service and index caches for replicated closed indices {es-pull}40423[#40423]
* Add support for replicating closed indices {es-pull}39499[#39499] (issues: {es-issue}33888[#33888], {es-issue}33903[#33903], {es-issue}37359[#37359], {es-issue}37413[#37413], {es-issue}38024[#38024], {es-issue}38326[#38326], {es-issue}38327[#38327], {es-issue}38329[#38329], {es-issue}38421[#38421], {es-issue}38631[#38631], {es-issue}38767[#38767], {es-issue}38854[#38854], {es-issue}38955[#38955], {es-issue}39006[#39006], {es-issue}39110[#39110], {es-issue}39186[#39186], {es-issue}39249[#39249], {es-issue}39364[#39364])

Docs Infrastructure::
* Docs: Simplifying setup by using module configuration variant syntax {es-pull}40879[#40879]

Engine::
* Simplify initialization of max_seq_no of updates {es-pull}41161[#41161] (issues: {es-issue}33842[#33842], {es-issue}40249[#40249])
* Adjust init map size of user data of index commit {es-pull}40965[#40965]
* Don't mark shard as refreshPending on stats fetching {es-pull}40458[#40458] (issues: {es-issue}33835[#33835], {es-issue}33847[#33847])
* Reject illegal flush parameters {es-pull}40213[#40213] (issue: {es-issue}36342[#36342])
* Always fail engine if delete operation fails {es-pull}40117[#40117] (issue: {es-issue}33256[#33256])
* Combine overriddenOps and skippedOps in translog {es-pull}39771[#39771] (issue: {es-issue}33317[#33317])
* Return cached segments stats if `include_unloaded_segments` is true {es-pull}39698[#39698] (issue: {es-issue}39512[#39512])
* Allow inclusion of unloaded segments in stats {es-pull}39512[#39512]
* Never block on scheduled refresh if a refresh is running {es-pull}39462[#39462]
* Expose external refreshes through the stats API {es-pull}38643[#38643] (issue: {es-issue}36712[#36712])
* Make setting index.translog.sync_interval be dynamic {es-pull}37382[#37382] (issue: {es-issue}32763[#32763])

Features/CAT APIs::
* Add start and stop time to cat recovery API {es-pull}40378[#40378]
* Return 0 for negative "free" and "total" memory reported by the OS {es-pull}42725[#42725] (issue: {es-issue}42157[#42157])

Features/Indices APIs::
* Introduce aliases version {es-pull}41397[#41397] (issue: {es-issue}41396[#41396])
* Improve error message for absence of indices {es-pull}39789[#39789] (issues: {es-issue}38964[#38964], {es-issue}39296[#39296])
* Improved error message for absence of indices closes #38964 {es-pull}39296[#39296]

Features/Java High Level REST Client::
* Added param ignore_throttled=false when indicesOptions.ignoreThrottle… {es-pull}42393[#42393] (issue: {es-issue}42358[#42358])
* Ignore 409 conflict in reindex responses {es-pull}39543[#39543]

Features/Monitoring::
* Add packaging to cluster stats response {es-pull}41048[#41048] (issue: {es-issue}39378[#39378])

Geo::
* Improve accuracy for Geo Centroid Aggregation {es-pull}41033[#41033] (issue: {es-issue}41032[#41032])
* Add support for z values to libs/geo classes {es-pull}38921[#38921]
* Add ST_WktToSQL function {es-pull}35416[#35416] (issue: {es-issue}29872[#29872])

Infra/Core::
* Validate non-secure settings are not in keystore {es-pull}42209[#42209] (issue: {es-issue}41831[#41831])
* Implement XContentParser.genericMap and XContentParser.genericMapOrdered methods {es-pull}42059[#42059]
* Remove manual parsing of JVM options {es-pull}41962[#41962] (issue: {es-issue}30684[#30684])
* Clarify some ToXContent implementations behaviour {es-pull}41000[#41000] (issue: {es-issue}16347[#16347])
* Remove String interning from `o.e.index.Index`. {es-pull}40350[#40350] (issue: {es-issue}40263[#40263])
* Do not swallow exceptions in TimedRunnable {es-pull}39856[#39856] (issue: {es-issue}36137[#36137])

Infra/Logging::
* Reduce garbage from allocations in DeprecationLogger {es-pull}38780[#38780] (issues: {es-issue}35754[#35754], {es-issue}37411[#37411], {es-issue}37530[#37530])

Infra/Packaging::
* Clearer error message - installing windows service {es-pull}33804[#33804]

Infra/Resiliency::
* Limit max direct memory size to half of heap size {es-pull}42006[#42006] (issues: {es-issue}41954[#41954], {es-issue}41962[#41962])

Infra/Scripting::
* Add implicit this for class binding in Painless {es-pull}40285[#40285]
* Whitelist geo methods for Painless {es-pull}40180[#40180] (issue: {es-issue}24946[#24946])

Machine Learning::
* Improve message misformation error in file structure finder {es-pull}42175[#42175]
* Improve hard_limit audit message {es-pull}42086[#42086] (issue: {es-issue}38034[#38034])
* Add validation that rejects duplicate detectors in PutJobAction {es-pull}40967[#40967] (issue: {es-issue}39704[#39704])
* Add created_by info to usage stats {es-pull}40518[#40518] (issue: {es-issue}38403[#38403])
* Data frame transforms config HLRC objects {es-pull}39691[#39691]
* Use scaling thread pool and xpack.ml.max_open_jobs cluster-wide dynamic {es-pull}39320[#39320] (issue: {es-issue}29809[#29809])
* Add task recovery on node change  {es-pull}39416[#39416]
* Stop tasks on failure {es-pull}39203[#39203]
* Add _preview endpoint {es-pull}38924[#38924]
* Use hardened compiler options to build 3rd party libraries {ml-pull}453[#453]
* Only select more complex trend models for forecasting if there is evidence that they are needed
{ml-pull}463[#463]
* Improve residual model selection {ml-pull}468[#468]
* Stop linking to libcrypt on Linux {ml-pull}480[#480]
* Improvements to hard_limit audit message {ml-pull}486[#486]
* Increase maximum forecast interval from 8 weeks to a limit based on the amount
of data seen, up to a maximum of 10 years {ml-pull}214[#214] and
{es-pull}41082[#41082] (issue: {es-issue}41103[#41103])

Mapping::
* Updates max dimensions for sparse_vector and dense_vector to 1024. {es-pull}40597[#40597] (issue: {es-issue}40492[#40492])
* Add ignore_above in ICUCollationKeywordFieldMapper {es-pull}40414[#40414] (issue: {es-issue}40413[#40413])
* Adding a soft limit to the field name length. Closes #33651 {es-pull}40309[#40309] (issue: {es-issue}33651[#33651])

Network::
* Update ciphers for TLSv1.3 and JDK11 if available {es-pull}42082[#42082] (issues: {es-issue}38646[#38646], {es-issue}41385[#41385], {es-issue}41808[#41808])
* Show SSL usage when security is not disabled {es-pull}40672[#40672] (issue: {es-issue}37433[#37433])
* Optimize Bulk Message Parsing and Message Length Parsing {es-pull}39634[#39634] (issue: {es-issue}39286[#39286])
* Netty transport accept plaintext connections {es-pull}39532[#39532] (issue: {es-issue}39531[#39531])
* Chunk + Throttle Netty Writes {es-pull}39286[#39286]

Ranking::
* Improve error message for ln/log with negative results in function score {es-pull}41609[#41609] (issue: {es-issue}41509[#41509])

Recovery::
* Peer recovery should flush at the end {es-pull}41660[#41660] (issues: {es-issue}33888[#33888], {es-issue}39588[#39588], {es-issue}40024[#40024])
* Peer recovery should not indefinitely retry on mapping error {es-pull}41099[#41099] (issue: {es-issue}40913[#40913])
* Init global checkpoint after copy commit in peer recovery {es-pull}40823[#40823] (issue: {es-issue}33888[#33888])
* Ensure sendBatch not called recursively {es-pull}39988[#39988]

Reindex::
* Reindex from Remote allow date math {es-pull}40303[#40303] (issue: {es-issue}23533[#23533])

SQL::
* Implement IIF(<cond>, <result1>, <result2>) {es-pull}41420[#41420] (issue: {es-issue}40917[#40917])
* Use field caps inside DESCRIBE TABLE as well {es-pull}41377[#41377] (issue: {es-issue}34071[#34071])
* Implement CURRENT_TIME/CURTIME functions {es-pull}40662[#40662] (issue: {es-issue}40648[#40648])
* Polish behavior of SYS TABLES command {es-pull}40535[#40535] (issue: {es-issue}40348[#40348])
* Adjust the precision and scale for drivers {es-pull}40467[#40467] (issue: {es-issue}40357[#40357])
* Polish parsing of CAST expression {es-pull}40428[#40428]
* Fix classpath discovery on Java 10+ {es-pull}40420[#40420] (issue: {es-issue}40388[#40388])
* Spec tests now use classpath discovery {es-pull}40388[#40388] (issue: {es-issue}40358[#40358])
* Implement `::` cast operator {es-pull}38774[#38774] (issue: {es-issue}38717[#38717])

Search::
* Fix range query edge cases {es-pull}41160[#41160] (issue: {es-issue}40937[#40937])
* Add stopword support to IntervalBuilder {es-pull}39637[#39637]
* Shortcut counts on exists queries {es-pull}39570[#39570] (issue: {es-issue}37475[#37475])
* Completion suggestions to be reduced once instead of twice {es-pull}39255[#39255]
* Rename SearchRequest#withLocalReduction {es-pull}39108[#39108]
* Tie break search shard iterator comparisons on cluster alias {es-pull}38853[#38853]
* Clean up ShardSearchLocalRequest {es-pull}38574[#38574]
* Handle unmapped fields in _field_caps API {es-pull}34071[#34071]
* Make 0 as invalid value for `min_children` in `has_child` query {es-pull}33073[#33073] (issue: {es-issue}32949[#32949])
* Analyze numbers, dates and ips with a whitespace analyzer in text queries {es-pull}27395[#27395]
* Add date and date_nanos conversion to the numeric_type sort option {es-pull}40199[#40199]
* Add `use_field` option to intervals query {es-pull}40157[#40157]
* Add overlapping, before, after filters to intervals query {es-pull}38999[#38999]

Security::
* Support concurrent refresh of refresh tokens {es-pull}38382[#38382] (issue: {es-issue}36872[#36872])

Snapshot/Restore::
* Remove IndexShard dependency from Repository  {es-pull}42213[#42213]
* Add shared access signature authentication support {es-pull}42117[#42117]
* Support multiple repositories in get snapshot request {es-pull}41799[#41799] (issue: {es-issue}41210[#41210])
* Implement Bulk Deletes for GCS Repository {es-pull}41368[#41368] (issue: {es-issue}40322[#40322])
* Add Bulk Delete Api to BlobStore {es-pull}40322[#40322] (issues: {es-issue}40144[#40144], {es-issue}40250[#40250])
* Async Snapshot Repository Deletes {es-pull}40144[#40144] (issues: {es-issue}39656[#39656], {es-issue}39657[#39657])
* Allow snapshotting replicated closed indices {es-pull}39644[#39644] (issue: {es-issue}33888[#33888])
* Add support for S3 intelligent tiering (#38836) {es-pull}39376[#39376] (issue: {es-issue}38836[#38836])

Store::
* Log missing file exception when failing to read metadata snapshot {es-pull}32920[#32920]

Suggesters::
* Tie-break completion suggestions with same score and surface form {es-pull}39564[#39564]



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

Aggregations::
* Update error message for allowed characters in aggregation names {es-pull}41573[#41573] (issue: {es-issue}41567[#41567])
* Fix FiltersAggregation NPE when `filters` is empty {es-pull}41459[#41459] (issue: {es-issue}41408[#41408])
* Fix unmapped field handling in the composite aggregation {es-pull}41280[#41280]

Allocation::
* Avoid bubbling up failures from a shard that is recovering {es-pull}42287[#42287] (issues: {es-issue}30919[#30919], {es-issue}40107[#40107])
* Changed the position of reset counter {es-pull}39678[#39678] (issue: {es-issue}39546[#39546])

Analysis::
* Always use IndexAnalyzers in analyze transport action {es-pull}40769[#40769] (issue: {es-issue}29021[#29021])
* Fix anaylze NullPointerException when AnalyzeTokenList tokens is null {es-pull}39332[#39332]
* Fix anaylze NullPointerException when AnalyzeTokenList tokens is null {es-pull}39180[#39180]

Authentication::
* Refresh remote JWKs on all errors {es-pull}42850[#42850]
* Fix refresh remote JWKS logic  {es-pull}42662[#42662]
* Fix settings prefix for realm truststore password {es-pull}42336[#42336] (issues: {es-issue}30241[#30241], {es-issue}41663[#41663])
* Merge claims from userinfo and ID Token correctly {es-pull}42277[#42277]
* Do not refresh realm cache unless required {es-pull}42169[#42169] (issue: {es-issue}35218[#35218])
* Amend `prepareIndexIfNeededThenExecute` for security token refresh {es-pull}41697[#41697]
* Fix token Invalidation when retries exhausted {es-pull}39799[#39799]

Authorization::
* _cat/indices with Security, hide names when wildcard {es-pull}38824[#38824] (issue: {es-issue}37190[#37190])

CCR::
* CCR should not replicate private/internal settings {es-pull}43067[#43067] (issue: {es-issue}41268[#41268])

CRUD::
* Fix NPE when rejecting bulk updates {es-pull}42923[#42923]

Cluster Coordination::
* Reset state recovery after successful recovery {es-pull}42576[#42576] (issue: {es-issue}39172[#39172])
* Omit non-masters in ClusterFormationFailureHelper {es-pull}41344[#41344]

Data Frame::
* Rewrite start and stop to answer with acknowledged {es-pull}42589[#42589] (issue: {es-issue}42450[#42450])
* Set DF task state to stopped when stopping   {es-pull}42516[#42516] (issue: {es-issue}42441[#42441])
* Add support for fixed_interval, calendar_interval, remove interval {es-pull}42427[#42427] (issues: {es-issue}33727[#33727], {es-issue}42297[#42297])

Distributed::
* Avoid loading retention leases while writing them {es-pull}42620[#42620] (issue: {es-issue}41430[#41430])
* Do not use ifSeqNo for update requests on mixed cluster {es-pull}42596[#42596] (issue: {es-issue}42561[#42561])
* Prevent order being lost for _nodes API filters {es-pull}42045[#42045] (issue: {es-issue}41885[#41885])
* Ensure flush happen before closing an index {es-pull}40184[#40184] (issue: {es-issue}36342[#36342])

Engine::
* Account soft deletes for committed segments {es-pull}43126[#43126] (issue: {es-issue}43103[#43103])
* Fix assertion error when caching the result of a search in a read-only index {es-pull}41900[#41900] (issue: {es-issue}41795[#41795])
* Close and acquire commit during reset engine fix {es-pull}41584[#41584] (issue: {es-issue}38561[#38561])

Features/ILM::
* Make ILM force merging best effort {es-pull}43246[#43246] (issues: {es-issue}42824[#42824], {es-issue}43245[#43245])
* Narrow period of Shrink action in which ILM prevents stopping {es-pull}43254[#43254] (issue: {es-issue}43253[#43253])

Features/Indices APIs::
* Add pre-upgrade check to test cluster routing allocation is enabled {es-pull}39340[#39340] (issue: {es-issue}39339[#39339])

Features/Ingest::
* Build local year inside DateFormat lambda {es-pull}42120[#42120]

Features/Java High Level REST Client::
* Fixes a bug in AnalyzeRequest.toXContent() {es-pull}42795[#42795] (issues: {es-issue}39670[#39670], {es-issue}42197[#42197])
* StackOverflowError when calling BulkRequest#add {es-pull}41672[#41672]
* HLRC: Convert xpack methods to client side objects {es-pull}40705[#40705] (issue: {es-issue}40511[#40511])
* Rest-High-Level-Client:fix uri encode bug when url path start with '/' {es-pull}34436[#34436] (issue: {es-issue}34433[#34433])

Features/Watcher::
* NullPointerException when creating a watch with Jira action (#41922) {es-pull}42081[#42081]
* Fix minor watcher bug, unmute test, add additional debug logging {es-pull}41765[#41765] (issues: {es-issue}29893[#29893], {es-issue}30777[#30777], {es-issue}33291[#33291], {es-issue}35361[#35361])
* Fix Watcher deadlock that can cause in-abilty to index documents. {es-pull}41418[#41418] (issue: {es-issue}41390[#41390])

Geo::
* Improve error message when polygons contains twice the same point in no-consecutive position {es-pull}41051[#41051] (issue: {es-issue}40998[#40998])

Highlighting::
* Bug fix for AnnotatedTextHighlighter - port of 39525 {es-pull}39749[#39749] (issue: {es-issue}39525[#39525])

Infra/Core::
* Fix roundUp parsing with composite patterns {es-pull}43080[#43080] (issue: {es-issue}42835[#42835])
* scheduleAtFixedRate would hang {es-pull}42993[#42993] (issue: {es-issue}38441[#38441])
* Only ignore IOException when fsyncing on dirs {es-pull}42972[#42972] (issue: {es-issue}42950[#42950])
* Fix node close stopwatch usage {es-pull}41918[#41918]
* Make ISO8601 date parser accept timezone when time does not have seconds {es-pull}41896[#41896]
* Allow unknown task time in QueueResizingEsTPE {es-pull}41810[#41810] (issue: {es-issue}41448[#41448])
* Parse composite patterns using ClassicFormat.parseObject {es-pull}40100[#40100] (issue: {es-issue}39916[#39916])

Infra/Packaging::
* Don't create tempdir for cli scripts {es-pull}41913[#41913] (issue: {es-issue}34445[#34445])
* Cleanup plugin bin directories {es-pull}41907[#41907] (issue: {es-issue}18109[#18109])
* Update lintian overrides {es-pull}41561[#41561] (issue: {es-issue}17185[#17185])
* Resolve JAVA_HOME at windows service install time {es-pull}39714[#39714] (issue: {es-issue}30720[#30720])

Infra/Settings::
* Handle UTF-8 values in the keystore {es-pull}39496[#39496]
* Handle empty input in AddStringKeyStoreCommand {es-pull}39490[#39490] (issue: {es-issue}39413[#39413])

Machine Learning::
* Fix possible race condition when closing an opening job {es-pull}42506[#42506]
* Exclude analysis fields with core field names from anomaly results {es-pull}41093[#41093] (issue: {es-issue}39406[#39406])

Mapping::
* Fix possible NPE in put mapping validators {es-pull}43000[#43000] (issue: {es-issue}37675[#37675])
* Fix merging of text field mappers {es-pull}40627[#40627]
* Fix an off-by-one error in the vector field dimension limit. {es-pull}40489[#40489]
* Fix not Recognizing Disabled Object Mapper {es-pull}39862[#39862] (issue: {es-issue}39456[#39456])
* Avoid copying the field alias lookup structure unnecessarily. {es-pull}39726[#39726]
* Handle NaNs when detrending seasonal components {ml-pull}408[#408]

Network::
* Don't require TLS for single node clusters {es-pull}42826[#42826]
* Handle WRAP ops during SSL read {es-pull}41611[#41611]
* SSLDriver can transition to CLOSED in handshake {es-pull}41458[#41458]
* Handle Bulk Requests on Write Threadpool {es-pull}40866[#40866] (issues: {es-issue}39128[#39128], {es-issue}39658[#39658])

Percolator::
* Fixed ignoring name parameter for percolator queries {es-pull}42598[#42598] (issue: {es-issue}40405[#40405])

Recovery::
* Use translog to estimate number of operations in recovery {es-pull}42211[#42211] (issue: {es-issue}38904[#38904])
* Recovery with syncId should verify seqno infos {es-pull}41265[#41265]
* Retain history for peer recovery using leases {es-pull}39133[#39133]

Reindex::
* Remote reindex failure parse fix {es-pull}42928[#42928]
* Fix concurrent search and index delete {es-pull}42621[#42621] (issue: {es-issue}28053[#28053])
* Propogate version in reindex from remote search {es-pull}42412[#42412] (issue: {es-issue}31908[#31908])

Rollup::
* Fix max boundary for rollup jobs that use a delay {es-pull}42158[#42158]
* Cleanup exceptions thrown during RollupSearch {es-pull}41272[#41272] (issue: {es-issue}38015[#38015])
* Validate timezones based on rules not string comparision {es-pull}36237[#36237] (issue: {es-issue}36229[#36229])

SQL::
* Fix wrong results when sorting on aggregate {es-pull}43154[#43154] (issue: {es-issue}42851[#42851])
* Cover the Integer type when extracting values from _source {es-pull}42859[#42859] (issue: {es-issue}42858[#42858])
* Fix precedence of `::` psql like CAST operator {es-pull}40665[#40665]

Search::
* Fix IntervalBuilder#analyzeText to never return `null` {es-pull}42750[#42750] (issue: {es-issue}42587[#42587])
* Fix sorting on nested field with unmapped {es-pull}42451[#42451] (issue: {es-issue}33644[#33644])
* Always set terminated_early if terminate_after is set in the search request {es-pull}40839[#40839] (issue: {es-issue}33949[#33949])
* more_like_this query to throw an error if the like fields is not provided {es-pull}40632[#40632]
* Fixing 503 Service Unavailable errors during fetch phase  {es-pull}39086[#39086]
* Fix IndexSearcherWrapper visibility {es-pull}39071[#39071] (issue: {es-issue}30758[#30758])

Snapshot/Restore::
* Fix Azure List by Prefix Bug {es-pull}42713[#42713]
* Remove Harmful Exists Check from BlobStoreFormat {es-pull}41898[#41898] (issue: {es-issue}41882[#41882])
* Restricts naming for repositories {es-pull}41008[#41008] (issue: {es-issue}40817[#40817])
* SNAPSHOT: More Resilient Writes to Blob Stores {es-pull}36927[#36927] (issue: {es-issue}25281[#25281])

Suggesters::
* Handle min_doc_freq in suggesters {es-pull}40840[#40840] (issue: {es-issue}16764[#16764])


[[upgrade-7.2.0]]
[float]
=== Upgrades

Features/Watcher::
* Replace javax activation with jakarta activation {es-pull}40247[#40247]
* Replace java mail with jakarta mail {es-pull}40088[#40088]

Infra/Core::
* Update to joda time 2.10.2 {es-pull}42199[#42199]

Network::
* Upgrade to Netty 4.1.35 {es-pull}41499[#41499]



