Logchange release on branch_9_10 - add changelog/v9.10.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a13d7389..238b2bb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,97 @@
 This file lists Solr's raw release notes with details of every change to Solr. Most people will find the solr-upgrade-notes.adoc file more approachable. [https://github.com/apache/solr/blob/main/solr/solr-ref-guide/modules/upgrade-notes/pages/solr-upgrade-notes.adoc](https://github.com/apache/solr/blob/main/solr/solr-ref-guide/modules/upgrade-notes/pages/solr-upgrade-notes.adoc)
 
 
+[9.10.0] - 2025-11-01
+---------------------
+
+### Added (4 changes)
+
+- Add Amazon Linux as known distro for installing Solr as a service. #3778 (Eric Pugh) (Andreas Rütten)
+- shards.preference=replica.location now supports the "host" option for routing to replicas on the same host. [SOLR-17915](https://issues.apache.org/jira/browse/SOLR-17915) (Houston Putman)
+- Add fullOuterJoin stream function [SOLR-17923](https://issues.apache.org/jira/browse/SOLR-17923) (Andy Webb)
+- The Extraction Request Handler, aka Solr Cell, now supports delegating the parsing of rich documents to an external Tika Server. This allows for a more stable Solr server, and easier to configure and scale parsing independently. The local in-process Tika parser is now deprecated. [SOLR-7632](https://issues.apache.org/jira/browse/SOLR-7632) (Jan Høydahl) (Eric Pugh)
+
+### Changed (6 changes)
+
+- Solr is now able to start on Java 24 and later, but with Security Manager disabled [SOLR-17641](https://issues.apache.org/jira/browse/SOLR-17641) (Houston Putman) (Jan Høydahl)
+- DocBasedVersionConstraintsProcessorFactory now supports PULL replicas. [SOLR-17860](https://issues.apache.org/jira/browse/SOLR-17860) (Houston Putman)
+- SolrJ users not using deprecated SolrClients can safely exclude Apache HttpClient dependencies. [SOLR-17884](https://issues.apache.org/jira/browse/SOLR-17884) (David Smiley)
+- Speed up Remote Proxy for high QPS, utilizing ClusterState caching. [SOLR-17893](https://issues.apache.org/jira/browse/SOLR-17893) (Houston Putman)
+- CloudSolrClient now recognizes UnknownHostException as a case to refetch the cluster state and retry. [SOLR-17897](https://issues.apache.org/jira/browse/SOLR-17897) (David Smiley)
+- SolrJ CloudSolrClient configured with a Solr URL (not ZK) now refreshes liveNodes in the background. This will reduce spikes in request latency when the cached liveNodes have expired. [SOLR-17921](https://issues.apache.org/jira/browse/SOLR-17921) (Houston Putman) (David Smiley)
+
+### Fixed (16 changes)
+
+- Make solr bin/solr zk CLI tools read ZK_HOST environment as they did pre Solr 9.8. With this regression fixed it is no longer necessary to pass the --zk-host option to the CLI tools if ZK_HOST is set. [SOLR-17690](https://issues.apache.org/jira/browse/SOLR-17690) ([Jan Høydahl](https://home.apache.org/phonebook.html?uid=janhoy) @janhoy)
+- Starting solr on newer Windows 11 Home complained about missing wmic [SOLR-17717](https://issues.apache.org/jira/browse/SOLR-17717) (Jan Høydahl)
+- NPE can occur when doing Atomic Update using Add Distinct on documents with a null field value. [SOLR-17721](https://issues.apache.org/jira/browse/SOLR-17721) (puneetSharma) (Eric Pugh)
+- Fixed dense/sparse representation in LTR module. [SOLR-17760](https://issues.apache.org/jira/browse/SOLR-17760) (Anna Ruggero) (Alessandro Benedetti)
+- When Solr forwards/proxies requests to another node that can service the request, it needs to pass authorization headers. [SOLR-17789](https://issues.apache.org/jira/browse/SOLR-17789) (Timo Crabbé)
+- RecoveryStrategy.pingLeader could NPE when there's no shard leader [SOLR-17824](https://issues.apache.org/jira/browse/SOLR-17824) (David Smiley)
+- v1 Restore API no longer conflates backup-name and collection-name during validation. [SOLR-17830](https://issues.apache.org/jira/browse/SOLR-17830) (Abhishek Umarjikar) (Jason Gerlowski)
+- ExitableDirectoryReader always initialized with QueryLimits.NONE [SOLR-17831](https://issues.apache.org/jira/browse/SOLR-17831) (Andrzej Białecki)
+- Fixed a bug preventing Config API set properties (aka: configoverlay.json) from being used in config file property substitution [SOLR-17834](https://issues.apache.org/jira/browse/SOLR-17834) (hossman)
+- PULL replica nodes could be marked as "preferredLeader" by BALANCESHARDUNIQUE despite never being able to be elected leader [SOLR-17837](https://issues.apache.org/jira/browse/SOLR-17837) (Kevin Liang) (Houston Putman)
+- Fix race condition in SolrCore's fingerprint cache which caused leader election to hang. [SOLR-17863](https://issues.apache.org/jira/browse/SOLR-17863) (Luke Kot-Zaniewski) (Matthew Biscocho)
+- Avoid creating grouping shard requests when timeAllowed has already run out. [SOLR-17869](https://issues.apache.org/jira/browse/SOLR-17869) (Andrzej Bialecki) (hossman)
+- Http2SolrClient wasn't honoring idle timeout configuration above 30 seconds -- a regression. [SOLR-17871](https://issues.apache.org/jira/browse/SOLR-17871) (Thomas Wöckinger) (David Smiley)
+- Http2SolrClient: followRedirects=true: if Http2SolrClient was created with followRedirects=true, and then was used to create future clients (via builder.withHttpClient), then redirect processing was wrongly disabled on the shared instance. [SOLR-17876](https://issues.apache.org/jira/browse/SOLR-17876) (David Smiley)
+- SolrCLI tools such as "bin/solr zk" can now access jars located in `<install_dir>/lib`. [SOLR-17883](https://issues.apache.org/jira/browse/SOLR-17883) 
+- Fix for LB/Cloud SolrClients that could leak on close() if concurrent request failed and triggered zombie server logic. [SOLR-3696](https://issues.apache.org/jira/browse/SOLR-3696) (hossman)
+
+### Dependency Upgrades (37 changes)
+
+- Update apache.zookeeper to v3.9.3 [PR#3061](https://github.com/apache/solr/pull/3061) (solrbot)
+- Update amazon.awssdk to v2.31.77 [PR#3228](https://github.com/apache/solr/pull/3228) (solrbot)
+- Update actions/checkout action to v5 [PR#3486](https://github.com/apache/solr/pull/3486) (solrbot)
+- Update com.carrotsearch.randomizedtesting:randomizedtesting-runner to v2.8.3 [PR#3526](https://github.com/apache/solr/pull/3526) (solrbot)
+- Update org.xerial.snappy:snappy-java to v1.1.10.8 [PR#3528](https://github.com/apache/solr/pull/3528) (solrbot)
+- Update org.apache.kafka:* to v3.9.1 [PR#3530](https://github.com/apache/solr/pull/3530) (solrbot)
+- Update org.apache.zookeeper:* to v3.9.4 [PR#3531](https://github.com/apache/solr/pull/3531) (solrbot)
+- Update org.eclipse.jetty*:* to v10.0.26 [PR#3533](https://github.com/apache/solr/pull/3533) (solrbot)
+- Update org.glassfish.jersey*:* to v3.1.11 [PR#3534](https://github.com/apache/solr/pull/3534) (solrbot)
+- Update org.slf4j:* to v2.0.17 [PR#3535](https://github.com/apache/solr/pull/3535) (solrbot)
+- Update com.google.re2j:re2j to v1.8 [PR#3541](https://github.com/apache/solr/pull/3541) (solrbot)
+- Update commons-codec:commons-codec to v1.19.0 [PR#3542](https://github.com/apache/solr/pull/3542) (solrbot)
+- Update commons-io:commons-io to v2.20.0 [PR#3543](https://github.com/apache/solr/pull/3543) (solrbot)
+- Update io.opentelemetry:opentelemetry-bom to v1.53.0 [PR#3544](https://github.com/apache/solr/pull/3544) (solrbot)
+- Update org.apache.commons:commons-collections4 to v4.5.0 [PR#3545](https://github.com/apache/solr/pull/3545) (solrbot)
+- Update org.apache.commons:commons-compress to v1.28.0 [PR#3546](https://github.com/apache/solr/pull/3546) (solrbot)
+- Update org.apache.commons:commons-configuration2 to v2.12.0 [PR#3547](https://github.com/apache/solr/pull/3547) (solrbot)
+- Update org.apache.commons:commons-exec to v1.5.0 [PR#3548](https://github.com/apache/solr/pull/3548) (solrbot)
+- Update org.apache.hadoop.thirdparty:hadoop-shaded-guava to v1.4.0 [PR#3550](https://github.com/apache/solr/pull/3550) (solrbot)
+- Update org.immutables:value-annotations to v2.11.3 [PR#3557](https://github.com/apache/solr/pull/3557) (solrbot)
+- Update org.semver4j:semver4j to v5.8.0 [PR#3558](https://github.com/apache/solr/pull/3558) (solrbot)
+- Update org.apache.curator:* to v5.9.0 [PR#3561](https://github.com/apache/solr/pull/3561) (solrbot)
+- Update plugin com.github.node-gradle.node to v7.1.0 [PR#3564](https://github.com/apache/solr/pull/3564) (solrbot)
+- Update plugin com.palantir.consistent-versions to v2.37.0 [PR#3569](https://github.com/apache/solr/pull/3569) (solrbot)
+- Update plugin de.undercouch.download to v5.6.0 [PR#3570](https://github.com/apache/solr/pull/3570) (solrbot)
+- Update actions/setup-java action to v5 [PR#3571](https://github.com/apache/solr/pull/3571) (solrbot)
+- Update plugin com.diffplug.spotless to v7 [PR#3583](https://github.com/apache/solr/pull/3583) (solrbot)
+- Update org.hsqldb:hsqldb to v2.7.4 [PR#3586](https://github.com/apache/solr/pull/3586) (solrbot)
+- Update net.bytebuddy:* to v1.17.7 [PR#3587](https://github.com/apache/solr/pull/3587) (solrbot)
+- Update org.mockito:mockito* to v5.19.0 [PR#3592](https://github.com/apache/solr/pull/3592) (solrbot)
+- Update io.netty:* to v4.2.6.Final [PR#3635](https://github.com/apache/solr/pull/3635) (solrbot)
+- Update org.apache.commons:commons-lang3 to v3.19.0 [PR#3689](https://github.com/apache/solr/pull/3689) (solrbot)
+- Update org.bouncycastle:bcpkix-jdk18on to v1.82 [PR#3721](https://github.com/apache/solr/pull/3721) (solrbot)
+- Update org.apache.kerby:* to v2.1.0 [PR#3722](https://github.com/apache/solr/pull/3722) (solrbot)
+- Update gradle/actions action to v5 [PR#3735](https://github.com/apache/solr/pull/3735) (solrbot)
+- Update plugin de.thetaphi.forbiddenapis to v3.10 [PR#3752](https://github.com/apache/solr/pull/3752) (solrbot)
+- Upgrade Lucene to 9.12.3 [SOLR-17964](https://issues.apache.org/jira/browse/SOLR-17964) ([Christine Poerschke](https://home.apache.org/phonebook.html?uid=cpoerschke) @cpoerschke)
+
+### Other (9 changes)
+
+- Deprecate `CloudHttp2SolrClient.Builder#withHttpClient` in favor of `CloudHttp2SolrClient.Builder#withInternalClientBuilder`. Deprecate `LBHttp2SolrClient.Builder#withListenerFactory` in favor of `LBHttp2SolrClient.Builder#withListenerFactories`. [SOLR-17541](https://issues.apache.org/jira/browse/SOLR-17541) (James Dyer)
+- Use logchange for changelog management ([Jan Høydahl](https://home.apache.org/phonebook.html?uid=janhoy) @janhoy)
+- SolrCloud "live_node" now has metadata: version of Solr, roles [SOLR-17620](https://issues.apache.org/jira/browse/SOLR-17620) (Yuntong Qu) (David Smiley)
+- Deprecating waitForFinalState parameter in any SolrCloud command that accepts it. It remains defaulted to false in 9, but will become true and likely removed. [SOLR-17712](https://issues.apache.org/jira/browse/SOLR-17712) (Abhishek Umarjikar) (David Smiley)
+- Deprecate `CloudSolrClient.Builder` in favor of `CloudHttp2SolrClient.Builder`. [SOLR-17771](https://issues.apache.org/jira/browse/SOLR-17771) (James Dyer)
+- A Solr node will now fail to start if it's major.minor version (e.g. 9.10) is *lower* than that of any existing Solr node in a SolrCloud cluster (as reported by info in "live_node"). [SOLR-17879](https://issues.apache.org/jira/browse/SOLR-17879) (David Smiley)
+- Stream decorator test refactoring - use underscore rather than dot in aliases [SOLR-17952](https://issues.apache.org/jira/browse/SOLR-17952) (Andy Webb)
+- XLSXResponseWriter has been deprecated and will be removed in a future release. [SOLR-17956](https://issues.apache.org/jira/browse/SOLR-17956) (Jan Høydahl)
+- The Tika Language Identifier is deprecated. Use one of the other detectors instead. [SOLR-17958](https://issues.apache.org/jira/browse/SOLR-17958) (Jan Høydahl)
+
+
 [9.9.0] - 2025-07-24
 --------------------
 
diff --git a/changelog/unreleased/.gitkeep b/changelog/unreleased/.gitkeep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/changelog/unreleased/.gitkeep
diff --git "a/changelog/v9.10.0/PR\0433778.yml" "b/changelog/v9.10.0/PR\0433778.yml"
new file mode 100644
index 0000000..96df915
--- /dev/null
+++ "b/changelog/v9.10.0/PR\0433778.yml"
@@ -0,0 +1,8 @@
+# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
+title: Add Amazon Linux as known distro for installing Solr as a service.
+type: added # added, changed, fixed, deprecated, removed, dependency_update, security, other
+authors:
+  - name: Eric Pugh
+  - name: Andreas Rütten
+issues:
+  - 3778
diff --git a/changelog/v9.10.0/PR3061-update apache.zookeeper to v3.9.3.yaml b/changelog/v9.10.0/PR3061-update apache.zookeeper to v3.9.3.yaml
new file mode 100644
index 0000000..501d179
--- /dev/null
+++ b/changelog/v9.10.0/PR3061-update apache.zookeeper to v3.9.3.yaml
@@ -0,0 +1,7 @@
+title: Update apache.zookeeper to v3.9.3
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3061
+  url: https://github.com/apache/solr/pull/3061
diff --git a/changelog/v9.10.0/PR3228-update amazon.awssdk to v2.31.77.yaml b/changelog/v9.10.0/PR3228-update amazon.awssdk to v2.31.77.yaml
new file mode 100644
index 0000000..f6692ed
--- /dev/null
+++ b/changelog/v9.10.0/PR3228-update amazon.awssdk to v2.31.77.yaml
@@ -0,0 +1,7 @@
+title: Update amazon.awssdk to v2.31.77
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3228
+  url: https://github.com/apache/solr/pull/3228
diff --git a/changelog/v9.10.0/PR3486-update actionscheckout action to v5.yaml b/changelog/v9.10.0/PR3486-update actionscheckout action to v5.yaml
new file mode 100644
index 0000000..8ef62d9
--- /dev/null
+++ b/changelog/v9.10.0/PR3486-update actionscheckout action to v5.yaml
@@ -0,0 +1,7 @@
+title: Update actions/checkout action to v5
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3486
+  url: https://github.com/apache/solr/pull/3486
diff --git a/changelog/v9.10.0/PR3526-update com.carrotsearch.randomizedtestingrandomizedtesting-runner to v2.8.3.yaml b/changelog/v9.10.0/PR3526-update com.carrotsearch.randomizedtestingrandomizedtesting-runner to v2.8.3.yaml
new file mode 100644
index 0000000..5da6fad
--- /dev/null
+++ b/changelog/v9.10.0/PR3526-update com.carrotsearch.randomizedtestingrandomizedtesting-runner to v2.8.3.yaml
@@ -0,0 +1,7 @@
+title: Update com.carrotsearch.randomizedtesting:randomizedtesting-runner to v2.8.3
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3526
+  url: https://github.com/apache/solr/pull/3526
diff --git a/changelog/v9.10.0/PR3528-update org.xerial.snappysnappy-java to v1.1.10.8.yaml b/changelog/v9.10.0/PR3528-update org.xerial.snappysnappy-java to v1.1.10.8.yaml
new file mode 100644
index 0000000..0d192f6
--- /dev/null
+++ b/changelog/v9.10.0/PR3528-update org.xerial.snappysnappy-java to v1.1.10.8.yaml
@@ -0,0 +1,7 @@
+title: Update org.xerial.snappy:snappy-java to v1.1.10.8
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3528
+  url: https://github.com/apache/solr/pull/3528
diff --git a/changelog/v9.10.0/PR3530-update org.apache.kafka to v3.9.1.yaml b/changelog/v9.10.0/PR3530-update org.apache.kafka to v3.9.1.yaml
new file mode 100644
index 0000000..5bb7191
--- /dev/null
+++ b/changelog/v9.10.0/PR3530-update org.apache.kafka to v3.9.1.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.kafka:* to v3.9.1
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3530
+  url: https://github.com/apache/solr/pull/3530
diff --git a/changelog/v9.10.0/PR3531-update org.apache.zookeeper to v3.9.4.yaml b/changelog/v9.10.0/PR3531-update org.apache.zookeeper to v3.9.4.yaml
new file mode 100644
index 0000000..aced9d8
--- /dev/null
+++ b/changelog/v9.10.0/PR3531-update org.apache.zookeeper to v3.9.4.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.zookeeper:* to v3.9.4
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3531
+  url: https://github.com/apache/solr/pull/3531
diff --git a/changelog/v9.10.0/PR3533-update org.eclipse.jetty to v10.0.26.yaml b/changelog/v9.10.0/PR3533-update org.eclipse.jetty to v10.0.26.yaml
new file mode 100644
index 0000000..3004680
--- /dev/null
+++ b/changelog/v9.10.0/PR3533-update org.eclipse.jetty to v10.0.26.yaml
@@ -0,0 +1,7 @@
+title: Update org.eclipse.jetty*:* to v10.0.26
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3533
+  url: https://github.com/apache/solr/pull/3533
diff --git a/changelog/v9.10.0/PR3534-update org.glassfish.jersey to v3.1.11.yaml b/changelog/v9.10.0/PR3534-update org.glassfish.jersey to v3.1.11.yaml
new file mode 100644
index 0000000..2489a0d
--- /dev/null
+++ b/changelog/v9.10.0/PR3534-update org.glassfish.jersey to v3.1.11.yaml
@@ -0,0 +1,7 @@
+title: Update org.glassfish.jersey*:* to v3.1.11
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3534
+  url: https://github.com/apache/solr/pull/3534
diff --git a/changelog/v9.10.0/PR3535-update org.slf4j to v2.0.17.yaml b/changelog/v9.10.0/PR3535-update org.slf4j to v2.0.17.yaml
new file mode 100644
index 0000000..35a97d9
--- /dev/null
+++ b/changelog/v9.10.0/PR3535-update org.slf4j to v2.0.17.yaml
@@ -0,0 +1,7 @@
+title: Update org.slf4j:* to v2.0.17
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3535
+  url: https://github.com/apache/solr/pull/3535
diff --git a/changelog/v9.10.0/PR3541-update com.google.re2jre2j to v1.8.yaml b/changelog/v9.10.0/PR3541-update com.google.re2jre2j to v1.8.yaml
new file mode 100644
index 0000000..4ed1210
--- /dev/null
+++ b/changelog/v9.10.0/PR3541-update com.google.re2jre2j to v1.8.yaml
@@ -0,0 +1,7 @@
+title: Update com.google.re2j:re2j to v1.8
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3541
+  url: https://github.com/apache/solr/pull/3541
diff --git a/changelog/v9.10.0/PR3542-update commons-codeccommons-codec to v1.19.0.yaml b/changelog/v9.10.0/PR3542-update commons-codeccommons-codec to v1.19.0.yaml
new file mode 100644
index 0000000..f14d1bd
--- /dev/null
+++ b/changelog/v9.10.0/PR3542-update commons-codeccommons-codec to v1.19.0.yaml
@@ -0,0 +1,7 @@
+title: Update commons-codec:commons-codec to v1.19.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3542
+  url: https://github.com/apache/solr/pull/3542
diff --git a/changelog/v9.10.0/PR3543-update commons-iocommons-io to v2.20.0.yaml b/changelog/v9.10.0/PR3543-update commons-iocommons-io to v2.20.0.yaml
new file mode 100644
index 0000000..4a89479
--- /dev/null
+++ b/changelog/v9.10.0/PR3543-update commons-iocommons-io to v2.20.0.yaml
@@ -0,0 +1,7 @@
+title: Update commons-io:commons-io to v2.20.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3543
+  url: https://github.com/apache/solr/pull/3543
diff --git a/changelog/v9.10.0/PR3544-update io.opentelemetryopentelemetry-bom to v1.53.0.yaml b/changelog/v9.10.0/PR3544-update io.opentelemetryopentelemetry-bom to v1.53.0.yaml
new file mode 100644
index 0000000..282d2bd
--- /dev/null
+++ b/changelog/v9.10.0/PR3544-update io.opentelemetryopentelemetry-bom to v1.53.0.yaml
@@ -0,0 +1,7 @@
+title: Update io.opentelemetry:opentelemetry-bom to v1.53.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3544
+  url: https://github.com/apache/solr/pull/3544
diff --git a/changelog/v9.10.0/PR3545-update org.apache.commonscommons-collections4 to v4.5.0.yaml b/changelog/v9.10.0/PR3545-update org.apache.commonscommons-collections4 to v4.5.0.yaml
new file mode 100644
index 0000000..26b9aaa
--- /dev/null
+++ b/changelog/v9.10.0/PR3545-update org.apache.commonscommons-collections4 to v4.5.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.commons:commons-collections4 to v4.5.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3545
+  url: https://github.com/apache/solr/pull/3545
diff --git a/changelog/v9.10.0/PR3546-update org.apache.commonscommons-compress to v1.28.0.yaml b/changelog/v9.10.0/PR3546-update org.apache.commonscommons-compress to v1.28.0.yaml
new file mode 100644
index 0000000..b324ae8
--- /dev/null
+++ b/changelog/v9.10.0/PR3546-update org.apache.commonscommons-compress to v1.28.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.commons:commons-compress to v1.28.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3546
+  url: https://github.com/apache/solr/pull/3546
diff --git a/changelog/v9.10.0/PR3547-update org.apache.commonscommons-configuration2 to v2.12.0.yaml b/changelog/v9.10.0/PR3547-update org.apache.commonscommons-configuration2 to v2.12.0.yaml
new file mode 100644
index 0000000..69173c8
--- /dev/null
+++ b/changelog/v9.10.0/PR3547-update org.apache.commonscommons-configuration2 to v2.12.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.commons:commons-configuration2 to v2.12.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3547
+  url: https://github.com/apache/solr/pull/3547
diff --git a/changelog/v9.10.0/PR3548-update org.apache.commonscommons-exec to v1.5.0.yaml b/changelog/v9.10.0/PR3548-update org.apache.commonscommons-exec to v1.5.0.yaml
new file mode 100644
index 0000000..f8e866d
--- /dev/null
+++ b/changelog/v9.10.0/PR3548-update org.apache.commonscommons-exec to v1.5.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.commons:commons-exec to v1.5.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3548
+  url: https://github.com/apache/solr/pull/3548
diff --git a/changelog/v9.10.0/PR3550-update org.apache.hadoop.thirdpartyhadoop-shaded-guava to v1.4.0.yaml b/changelog/v9.10.0/PR3550-update org.apache.hadoop.thirdpartyhadoop-shaded-guava to v1.4.0.yaml
new file mode 100644
index 0000000..ccd1575
--- /dev/null
+++ b/changelog/v9.10.0/PR3550-update org.apache.hadoop.thirdpartyhadoop-shaded-guava to v1.4.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.hadoop.thirdparty:hadoop-shaded-guava to v1.4.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3550
+  url: https://github.com/apache/solr/pull/3550
diff --git a/changelog/v9.10.0/PR3557-update org.immutablesvalue-annotations to v2.11.3.yaml b/changelog/v9.10.0/PR3557-update org.immutablesvalue-annotations to v2.11.3.yaml
new file mode 100644
index 0000000..48e08c2
--- /dev/null
+++ b/changelog/v9.10.0/PR3557-update org.immutablesvalue-annotations to v2.11.3.yaml
@@ -0,0 +1,7 @@
+title: Update org.immutables:value-annotations to v2.11.3
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3557
+  url: https://github.com/apache/solr/pull/3557
diff --git a/changelog/v9.10.0/PR3558-update org.semver4jsemver4j to v5.8.0.yaml b/changelog/v9.10.0/PR3558-update org.semver4jsemver4j to v5.8.0.yaml
new file mode 100644
index 0000000..4f240de
--- /dev/null
+++ b/changelog/v9.10.0/PR3558-update org.semver4jsemver4j to v5.8.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.semver4j:semver4j to v5.8.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3558
+  url: https://github.com/apache/solr/pull/3558
diff --git a/changelog/v9.10.0/PR3561-update org.apache.curator to v5.9.0.yaml b/changelog/v9.10.0/PR3561-update org.apache.curator to v5.9.0.yaml
new file mode 100644
index 0000000..44208c1
--- /dev/null
+++ b/changelog/v9.10.0/PR3561-update org.apache.curator to v5.9.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.curator:* to v5.9.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3561
+  url: https://github.com/apache/solr/pull/3561
diff --git a/changelog/v9.10.0/PR3564-update plugin com.github.node-gradle.node to v7.1.0.yaml b/changelog/v9.10.0/PR3564-update plugin com.github.node-gradle.node to v7.1.0.yaml
new file mode 100644
index 0000000..ca41bd9
--- /dev/null
+++ b/changelog/v9.10.0/PR3564-update plugin com.github.node-gradle.node to v7.1.0.yaml
@@ -0,0 +1,7 @@
+title: Update plugin com.github.node-gradle.node to v7.1.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3564
+  url: https://github.com/apache/solr/pull/3564
diff --git a/changelog/v9.10.0/PR3569-update plugin com.palantir.consistent-versions to v2.37.0.yaml b/changelog/v9.10.0/PR3569-update plugin com.palantir.consistent-versions to v2.37.0.yaml
new file mode 100644
index 0000000..e7f582f
--- /dev/null
+++ b/changelog/v9.10.0/PR3569-update plugin com.palantir.consistent-versions to v2.37.0.yaml
@@ -0,0 +1,7 @@
+title: Update plugin com.palantir.consistent-versions to v2.37.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3569
+  url: https://github.com/apache/solr/pull/3569
diff --git a/changelog/v9.10.0/PR3570-update plugin de.undercouch.download to v5.6.0.yaml b/changelog/v9.10.0/PR3570-update plugin de.undercouch.download to v5.6.0.yaml
new file mode 100644
index 0000000..b5e48d7
--- /dev/null
+++ b/changelog/v9.10.0/PR3570-update plugin de.undercouch.download to v5.6.0.yaml
@@ -0,0 +1,7 @@
+title: Update plugin de.undercouch.download to v5.6.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3570
+  url: https://github.com/apache/solr/pull/3570
diff --git a/changelog/v9.10.0/PR3571-update actionssetup-java action to v5.yaml b/changelog/v9.10.0/PR3571-update actionssetup-java action to v5.yaml
new file mode 100644
index 0000000..302f06f
--- /dev/null
+++ b/changelog/v9.10.0/PR3571-update actionssetup-java action to v5.yaml
@@ -0,0 +1,7 @@
+title: Update actions/setup-java action to v5
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3571
+  url: https://github.com/apache/solr/pull/3571
diff --git a/changelog/v9.10.0/PR3583-update plugin com.diffplug.spotless to v7.yaml b/changelog/v9.10.0/PR3583-update plugin com.diffplug.spotless to v7.yaml
new file mode 100644
index 0000000..daaf3b4
--- /dev/null
+++ b/changelog/v9.10.0/PR3583-update plugin com.diffplug.spotless to v7.yaml
@@ -0,0 +1,7 @@
+title: Update plugin com.diffplug.spotless to v7
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3583
+  url: https://github.com/apache/solr/pull/3583
diff --git a/changelog/v9.10.0/PR3586-update org.hsqldbhsqldb to v2.7.4.yaml b/changelog/v9.10.0/PR3586-update org.hsqldbhsqldb to v2.7.4.yaml
new file mode 100644
index 0000000..30db106
--- /dev/null
+++ b/changelog/v9.10.0/PR3586-update org.hsqldbhsqldb to v2.7.4.yaml
@@ -0,0 +1,7 @@
+title: Update org.hsqldb:hsqldb to v2.7.4
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3586
+  url: https://github.com/apache/solr/pull/3586
diff --git a/changelog/v9.10.0/PR3587-update net.bytebuddy to v1.17.7.yaml b/changelog/v9.10.0/PR3587-update net.bytebuddy to v1.17.7.yaml
new file mode 100644
index 0000000..f067b51
--- /dev/null
+++ b/changelog/v9.10.0/PR3587-update net.bytebuddy to v1.17.7.yaml
@@ -0,0 +1,7 @@
+title: Update net.bytebuddy:* to v1.17.7
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3587
+  url: https://github.com/apache/solr/pull/3587
diff --git a/changelog/v9.10.0/PR3592-update org.mockitomockito to v5.19.0.yaml b/changelog/v9.10.0/PR3592-update org.mockitomockito to v5.19.0.yaml
new file mode 100644
index 0000000..a9304e4
--- /dev/null
+++ b/changelog/v9.10.0/PR3592-update org.mockitomockito to v5.19.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.mockito:mockito* to v5.19.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3592
+  url: https://github.com/apache/solr/pull/3592
diff --git a/changelog/v9.10.0/PR3635-update io.netty to v4.2.6.final.yaml b/changelog/v9.10.0/PR3635-update io.netty to v4.2.6.final.yaml
new file mode 100644
index 0000000..e9ea918
--- /dev/null
+++ b/changelog/v9.10.0/PR3635-update io.netty to v4.2.6.final.yaml
@@ -0,0 +1,7 @@
+title: Update io.netty:* to v4.2.6.Final
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3635
+  url: https://github.com/apache/solr/pull/3635
diff --git a/changelog/v9.10.0/PR3689-update org.apache.commonscommons-lang3 to v3.19.0.yaml b/changelog/v9.10.0/PR3689-update org.apache.commonscommons-lang3 to v3.19.0.yaml
new file mode 100644
index 0000000..05e8e86
--- /dev/null
+++ b/changelog/v9.10.0/PR3689-update org.apache.commonscommons-lang3 to v3.19.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.commons:commons-lang3 to v3.19.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3689
+  url: https://github.com/apache/solr/pull/3689
diff --git a/changelog/v9.10.0/PR3721-update org.bouncycastlebcpkix-jdk18on to v1.82.yaml b/changelog/v9.10.0/PR3721-update org.bouncycastlebcpkix-jdk18on to v1.82.yaml
new file mode 100644
index 0000000..c84fb2d
--- /dev/null
+++ b/changelog/v9.10.0/PR3721-update org.bouncycastlebcpkix-jdk18on to v1.82.yaml
@@ -0,0 +1,7 @@
+title: Update org.bouncycastle:bcpkix-jdk18on to v1.82
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3721
+  url: https://github.com/apache/solr/pull/3721
diff --git a/changelog/v9.10.0/PR3722-update org.apache.kerby to v2.1.0.yaml b/changelog/v9.10.0/PR3722-update org.apache.kerby to v2.1.0.yaml
new file mode 100644
index 0000000..658e2a3
--- /dev/null
+++ b/changelog/v9.10.0/PR3722-update org.apache.kerby to v2.1.0.yaml
@@ -0,0 +1,7 @@
+title: Update org.apache.kerby:* to v2.1.0
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3722
+  url: https://github.com/apache/solr/pull/3722
diff --git a/changelog/v9.10.0/PR3735-update gradleactions action to v5.yaml b/changelog/v9.10.0/PR3735-update gradleactions action to v5.yaml
new file mode 100644
index 0000000..db6e557
--- /dev/null
+++ b/changelog/v9.10.0/PR3735-update gradleactions action to v5.yaml
@@ -0,0 +1,7 @@
+title: Update gradle/actions action to v5
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3735
+  url: https://github.com/apache/solr/pull/3735
diff --git a/changelog/v9.10.0/PR3752-update plugin de.thetaphi.forbiddenapis to v3.10.yaml b/changelog/v9.10.0/PR3752-update plugin de.thetaphi.forbiddenapis to v3.10.yaml
new file mode 100644
index 0000000..04e6891
--- /dev/null
+++ b/changelog/v9.10.0/PR3752-update plugin de.thetaphi.forbiddenapis to v3.10.yaml
@@ -0,0 +1,7 @@
+title: Update plugin de.thetaphi.forbiddenapis to v3.10
+type: dependency_update
+authors:
+- name: solrbot
+links:
+- name: PR#3752
+  url: https://github.com/apache/solr/pull/3752
diff --git a/changelog/v9.10.0/SOLR-17541-deprecate -cloudhttp2solrclient-builder.yml b/changelog/v9.10.0/SOLR-17541-deprecate -cloudhttp2solrclient-builder.yml
new file mode 100644
index 0000000..c865af2
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17541-deprecate -cloudhttp2solrclient-builder.yml
@@ -0,0 +1,8 @@
+title: Deprecate `CloudHttp2SolrClient.Builder#withHttpClient` in favor of `CloudHttp2SolrClient.Builder#withInternalClientBuilder`.
+  Deprecate `LBHttp2SolrClient.Builder#withListenerFactory` in favor of `LBHttp2SolrClient.Builder#withListenerFactories`.
+type: other
+authors:
+- name: James Dyer
+links:
+- name: SOLR-17541
+  url: https://issues.apache.org/jira/browse/SOLR-17541
diff --git a/changelog/v9.10.0/SOLR-17619 Use logchange for changelog management.yml b/changelog/v9.10.0/SOLR-17619 Use logchange for changelog management.yml
new file mode 100644
index 0000000..63a14ab
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17619 Use logchange for changelog management.yml
@@ -0,0 +1,7 @@
+# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
+title: Use logchange for changelog management
+type: other # added, changed, fixed, deprecated, removed, dependency_update, security, other
+authors:
+  - name: Jan Høydahl
+    nick: janhoy
+    url: https://home.apache.org/phonebook.html?uid=janhoy
diff --git a/changelog/v9.10.0/SOLR-17620-solrcloud -live-node- now has metadata- version.yml b/changelog/v9.10.0/SOLR-17620-solrcloud -live-node- now has metadata- version.yml
new file mode 100644
index 0000000..a1dfb4f
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17620-solrcloud -live-node- now has metadata- version.yml
@@ -0,0 +1,8 @@
+title: 'SolrCloud "live_node" now has metadata: version of Solr, roles'
+type: other
+authors:
+- name: Yuntong Qu
+- name: David Smiley
+links:
+- name: SOLR-17620
+  url: https://issues.apache.org/jira/browse/SOLR-17620
diff --git a/changelog/v9.10.0/SOLR-17641-solr is now able to start on java 24 and later-.yml b/changelog/v9.10.0/SOLR-17641-solr is now able to start on java 24 and later-.yml
new file mode 100644
index 0000000..8e727ec
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17641-solr is now able to start on java 24 and later-.yml
@@ -0,0 +1,8 @@
+title: Solr is now able to start on Java 24 and later, but with Security Manager disabled
+type: changed
+authors:
+- name: Houston Putman
+- name: Jan Høydahl
+links:
+- name: SOLR-17641
+  url: https://issues.apache.org/jira/browse/SOLR-17641
diff --git a/changelog/v9.10.0/SOLR-17690-zkToolZKHostFromEnv.yml b/changelog/v9.10.0/SOLR-17690-zkToolZKHostFromEnv.yml
new file mode 100644
index 0000000..b608d08
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17690-zkToolZKHostFromEnv.yml
@@ -0,0 +1,11 @@
+# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
+title: Make solr bin/solr zk CLI tools read ZK_HOST environment as they did pre Solr 9.8.
+  With this regression fixed it is no longer necessary to pass the --zk-host option to the CLI tools if ZK_HOST is set.
+type: fixed # added, changed, fixed, deprecated, removed, dependency_update, security, other
+authors:
+  - name: Jan Høydahl
+    nick: janhoy
+    url: https://home.apache.org/phonebook.html?uid=janhoy
+links:
+  - name: SOLR-17690
+    url: https://issues.apache.org/jira/browse/SOLR-17690
diff --git a/changelog/v9.10.0/SOLR-17712-deprecating waitforfinalstate parameter in any.yml b/changelog/v9.10.0/SOLR-17712-deprecating waitforfinalstate parameter in any.yml
new file mode 100644
index 0000000..c36f973
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17712-deprecating waitforfinalstate parameter in any.yml
@@ -0,0 +1,9 @@
+title: Deprecating waitForFinalState parameter in any SolrCloud command that accepts
+  it. It remains defaulted to false in 9, but will become true and likely removed.
+type: other
+authors:
+- name: Abhishek Umarjikar
+- name: David Smiley
+links:
+- name: SOLR-17712
+  url: https://issues.apache.org/jira/browse/SOLR-17712
diff --git a/changelog/v9.10.0/SOLR-17717-starting solr on newer windows 11 home complained.yml b/changelog/v9.10.0/SOLR-17717-starting solr on newer windows 11 home complained.yml
new file mode 100644
index 0000000..bd41d5d
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17717-starting solr on newer windows 11 home complained.yml
@@ -0,0 +1,7 @@
+title: Starting solr on newer Windows 11 Home complained about missing wmic
+type: fixed
+authors:
+- name: Jan Høydahl
+links:
+- name: SOLR-17717
+  url: https://issues.apache.org/jira/browse/SOLR-17717
diff --git a/changelog/v9.10.0/SOLR-17721-npe can occur when doing atomic update using add.yml b/changelog/v9.10.0/SOLR-17721-npe can occur when doing atomic update using add.yml
new file mode 100644
index 0000000..b514756
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17721-npe can occur when doing atomic update using add.yml
@@ -0,0 +1,9 @@
+title: NPE can occur when doing Atomic Update using Add Distinct on documents with
+  a null field value.
+type: fixed
+authors:
+- name: puneetSharma
+- name: Eric Pugh
+links:
+- name: SOLR-17721
+  url: https://issues.apache.org/jira/browse/SOLR-17721
diff --git a/changelog/v9.10.0/SOLR-17760-fixed dense-sparse representation in ltr module.yml b/changelog/v9.10.0/SOLR-17760-fixed dense-sparse representation in ltr module.yml
new file mode 100644
index 0000000..6dd0c03
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17760-fixed dense-sparse representation in ltr module.yml
@@ -0,0 +1,8 @@
+title: Fixed dense/sparse representation in LTR module.
+type: fixed
+authors:
+- name: Anna Ruggero
+- name: Alessandro Benedetti
+links:
+- name: SOLR-17760
+  url: https://issues.apache.org/jira/browse/SOLR-17760
diff --git a/changelog/v9.10.0/SOLR-17771-deprecate -cloudsolrclient-builder- in favor of.yml b/changelog/v9.10.0/SOLR-17771-deprecate -cloudsolrclient-builder- in favor of.yml
new file mode 100644
index 0000000..a65e115
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17771-deprecate -cloudsolrclient-builder- in favor of.yml
@@ -0,0 +1,7 @@
+title: Deprecate `CloudSolrClient.Builder` in favor of `CloudHttp2SolrClient.Builder`.
+type: other
+authors:
+- name: James Dyer
+links:
+- name: SOLR-17771
+  url: https://issues.apache.org/jira/browse/SOLR-17771
diff --git a/changelog/v9.10.0/SOLR-17789-when solr forwards-proxies requests to another.yml b/changelog/v9.10.0/SOLR-17789-when solr forwards-proxies requests to another.yml
new file mode 100644
index 0000000..285027c
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17789-when solr forwards-proxies requests to another.yml
@@ -0,0 +1,8 @@
+title: When Solr forwards/proxies requests to another node that can service the request,
+  it needs to pass authorization headers.
+type: fixed
+authors:
+- name: Timo Crabbé
+links:
+- name: SOLR-17789
+  url: https://issues.apache.org/jira/browse/SOLR-17789
diff --git a/changelog/v9.10.0/SOLR-17824-recoverystrategy-pingleader could npe when.yml b/changelog/v9.10.0/SOLR-17824-recoverystrategy-pingleader could npe when.yml
new file mode 100644
index 0000000..4035969
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17824-recoverystrategy-pingleader could npe when.yml
@@ -0,0 +1,7 @@
+title: RecoveryStrategy.pingLeader could NPE when there's no shard leader
+type: fixed
+authors:
+- name: David Smiley
+links:
+- name: SOLR-17824
+  url: https://issues.apache.org/jira/browse/SOLR-17824
diff --git a/changelog/v9.10.0/SOLR-17830-v1 restore api no longer conflates backup-name.yml b/changelog/v9.10.0/SOLR-17830-v1 restore api no longer conflates backup-name.yml
new file mode 100644
index 0000000..8d778fc
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17830-v1 restore api no longer conflates backup-name.yml
@@ -0,0 +1,8 @@
+title: v1 Restore API no longer conflates backup-name and collection-name during validation.
+type: fixed
+authors:
+- name: Abhishek Umarjikar
+- name: Jason Gerlowski
+links:
+- name: SOLR-17830
+  url: https://issues.apache.org/jira/browse/SOLR-17830
diff --git a/changelog/v9.10.0/SOLR-17831-exitabledirectoryreader always initialized with.yml b/changelog/v9.10.0/SOLR-17831-exitabledirectoryreader always initialized with.yml
new file mode 100644
index 0000000..a1c9a3c
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17831-exitabledirectoryreader always initialized with.yml
@@ -0,0 +1,7 @@
+title: ExitableDirectoryReader always initialized with QueryLimits.NONE
+type: fixed
+authors:
+- name: Andrzej Białecki
+links:
+- name: SOLR-17831
+  url: https://issues.apache.org/jira/browse/SOLR-17831
diff --git a/changelog/v9.10.0/SOLR-17834-fixed a bug preventing config api set properties.yml b/changelog/v9.10.0/SOLR-17834-fixed a bug preventing config api set properties.yml
new file mode 100644
index 0000000..ca07171
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17834-fixed a bug preventing config api set properties.yml
@@ -0,0 +1,8 @@
+title: 'Fixed a bug preventing Config API set properties (aka: configoverlay.json)
+  from being used in config file property substitution'
+type: fixed
+authors:
+- name: hossman
+links:
+- name: SOLR-17834
+  url: https://issues.apache.org/jira/browse/SOLR-17834
diff --git a/changelog/v9.10.0/SOLR-17837-pull replica nodes could be marked as.yml b/changelog/v9.10.0/SOLR-17837-pull replica nodes could be marked as.yml
new file mode 100644
index 0000000..074214b
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17837-pull replica nodes could be marked as.yml
@@ -0,0 +1,9 @@
+title: PULL replica nodes could be marked as "preferredLeader" by BALANCESHARDUNIQUE
+  despite never being able to be elected leader
+type: fixed
+authors:
+- name: Kevin Liang
+- name: Houston Putman
+links:
+- name: SOLR-17837
+  url: https://issues.apache.org/jira/browse/SOLR-17837
diff --git a/changelog/v9.10.0/SOLR-17860-docbasedversionconstraintsprocessorfactory now.yml b/changelog/v9.10.0/SOLR-17860-docbasedversionconstraintsprocessorfactory now.yml
new file mode 100644
index 0000000..4eb99f7
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17860-docbasedversionconstraintsprocessorfactory now.yml
@@ -0,0 +1,7 @@
+title: DocBasedVersionConstraintsProcessorFactory now supports PULL replicas.
+type: changed
+authors:
+- name: Houston Putman
+links:
+- name: SOLR-17860
+  url: https://issues.apache.org/jira/browse/SOLR-17860
diff --git a/changelog/v9.10.0/SOLR-17863-fix race condition in solrcore-s fingerprint.yml b/changelog/v9.10.0/SOLR-17863-fix race condition in solrcore-s fingerprint.yml
new file mode 100644
index 0000000..5b66782
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17863-fix race condition in solrcore-s fingerprint.yml
@@ -0,0 +1,9 @@
+title: Fix race condition in SolrCore's fingerprint cache which caused leader election
+  to hang.
+type: fixed
+authors:
+- name: Luke Kot-Zaniewski
+- name: Matthew Biscocho
+links:
+- name: SOLR-17863
+  url: https://issues.apache.org/jira/browse/SOLR-17863
diff --git a/changelog/v9.10.0/SOLR-17869-avoid creating grouping shard requests when.yml b/changelog/v9.10.0/SOLR-17869-avoid creating grouping shard requests when.yml
new file mode 100644
index 0000000..e5c1971
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17869-avoid creating grouping shard requests when.yml
@@ -0,0 +1,8 @@
+title: Avoid creating grouping shard requests when timeAllowed has already run out.
+type: fixed
+authors:
+- name: Andrzej Bialecki
+- name: hossman
+links:
+- name: SOLR-17869
+  url: https://issues.apache.org/jira/browse/SOLR-17869
diff --git a/changelog/v9.10.0/SOLR-17871-http2solrclient wasn-t honoring idle timeout.yml b/changelog/v9.10.0/SOLR-17871-http2solrclient wasn-t honoring idle timeout.yml
new file mode 100644
index 0000000..97a0c37
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17871-http2solrclient wasn-t honoring idle timeout.yml
@@ -0,0 +1,9 @@
+title: Http2SolrClient wasn't honoring idle timeout configuration above 30 seconds
+  -- a regression.
+type: fixed
+authors:
+- name: Thomas Wöckinger
+- name: David Smiley
+links:
+- name: SOLR-17871
+  url: https://issues.apache.org/jira/browse/SOLR-17871
diff --git a/changelog/v9.10.0/SOLR-17876-http2solrclient- followredirects-true- if.yml b/changelog/v9.10.0/SOLR-17876-http2solrclient- followredirects-true- if.yml
new file mode 100644
index 0000000..826c7fb
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17876-http2solrclient- followredirects-true- if.yml
@@ -0,0 +1,9 @@
+title: 'Http2SolrClient: followRedirects=true: if Http2SolrClient was created with
+  followRedirects=true, and then was used to create future clients (via builder.withHttpClient),
+  then redirect processing was wrongly disabled on the shared instance.'
+type: fixed
+authors:
+- name: David Smiley
+links:
+- name: SOLR-17876
+  url: https://issues.apache.org/jira/browse/SOLR-17876
diff --git a/changelog/v9.10.0/SOLR-17879-a solr node will now fail to start if it-s.yml b/changelog/v9.10.0/SOLR-17879-a solr node will now fail to start if it-s.yml
new file mode 100644
index 0000000..4aa0b26
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17879-a solr node will now fail to start if it-s.yml
@@ -0,0 +1,9 @@
+title: A Solr node will now fail to start if it's major.minor version (e.g. 9.10)
+  is *lower* than that of any existing Solr node in a SolrCloud cluster (as reported
+  by info in "live_node").
+type: other
+authors:
+- name: David Smiley
+links:
+- name: SOLR-17879
+  url: https://issues.apache.org/jira/browse/SOLR-17879
diff --git a/changelog/v9.10.0/SOLR-17883-solrcli tools such as -bin-solr zk- can now.yml b/changelog/v9.10.0/SOLR-17883-solrcli tools such as -bin-solr zk- can now.yml
new file mode 100644
index 0000000..f2ec1b4
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17883-solrcli tools such as -bin-solr zk- can now.yml
@@ -0,0 +1,6 @@
+title: SolrCLI tools such as "bin/solr zk" can now access jars located in `<install_dir>/lib`.
+type: fixed
+authors: []
+links:
+- name: SOLR-17883
+  url: https://issues.apache.org/jira/browse/SOLR-17883
diff --git a/changelog/v9.10.0/SOLR-17884-solrj users not using deprecated solrclients can.yml b/changelog/v9.10.0/SOLR-17884-solrj users not using deprecated solrclients can.yml
new file mode 100644
index 0000000..58ec419
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17884-solrj users not using deprecated solrclients can.yml
@@ -0,0 +1,8 @@
+title: SolrJ users not using deprecated SolrClients can safely exclude Apache HttpClient
+  dependencies.
+type: changed
+authors:
+- name: David Smiley
+links:
+- name: SOLR-17884
+  url: https://issues.apache.org/jira/browse/SOLR-17884
diff --git a/changelog/v9.10.0/SOLR-17893-speed up remote proxy for high qps- utilizing.yml b/changelog/v9.10.0/SOLR-17893-speed up remote proxy for high qps- utilizing.yml
new file mode 100644
index 0000000..d05dd44
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17893-speed up remote proxy for high qps- utilizing.yml
@@ -0,0 +1,7 @@
+title: Speed up Remote Proxy for high QPS, utilizing ClusterState caching.
+type: changed
+authors:
+- name: Houston Putman
+links:
+- name: SOLR-17893
+  url: https://issues.apache.org/jira/browse/SOLR-17893
diff --git a/changelog/v9.10.0/SOLR-17897-cloudsolrclient now recognizes.yml b/changelog/v9.10.0/SOLR-17897-cloudsolrclient now recognizes.yml
new file mode 100644
index 0000000..b93229a
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17897-cloudsolrclient now recognizes.yml
@@ -0,0 +1,8 @@
+title: CloudSolrClient now recognizes UnknownHostException as a case to refetch the
+  cluster state and retry.
+type: changed
+authors:
+- name: David Smiley
+links:
+- name: SOLR-17897
+  url: https://issues.apache.org/jira/browse/SOLR-17897
diff --git a/changelog/v9.10.0/SOLR-17915-shards-preference-replica-location now supports.yml b/changelog/v9.10.0/SOLR-17915-shards-preference-replica-location now supports.yml
new file mode 100644
index 0000000..86955b4
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17915-shards-preference-replica-location now supports.yml
@@ -0,0 +1,8 @@
+title: shards.preference=replica.location now supports the "host" option for routing
+  to replicas on the same host.
+type: added
+authors:
+- name: Houston Putman
+links:
+- name: SOLR-17915
+  url: https://issues.apache.org/jira/browse/SOLR-17915
diff --git a/changelog/v9.10.0/SOLR-17921-solrj cloudsolrclient configured with a solr url.yml b/changelog/v9.10.0/SOLR-17921-solrj cloudsolrclient configured with a solr url.yml
new file mode 100644
index 0000000..f369132
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17921-solrj cloudsolrclient configured with a solr url.yml
@@ -0,0 +1,10 @@
+title: SolrJ CloudSolrClient configured with a Solr URL (not ZK) now refreshes liveNodes
+  in the background. This will reduce spikes in request latency when the cached liveNodes
+  have expired.
+type: changed
+authors:
+- name: Houston Putman
+- name: David Smiley
+links:
+- name: SOLR-17921
+  url: https://issues.apache.org/jira/browse/SOLR-17921
diff --git a/changelog/v9.10.0/SOLR-17923-add fullouterjoin stream function.yml b/changelog/v9.10.0/SOLR-17923-add fullouterjoin stream function.yml
new file mode 100644
index 0000000..08aef5a
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17923-add fullouterjoin stream function.yml
@@ -0,0 +1,7 @@
+title: Add fullOuterJoin stream function
+type: added
+authors:
+- name: Andy Webb
+links:
+- name: SOLR-17923
+  url: https://issues.apache.org/jira/browse/SOLR-17923
diff --git a/changelog/v9.10.0/SOLR-17952-stream decorator test refactoring - use.yml b/changelog/v9.10.0/SOLR-17952-stream decorator test refactoring - use.yml
new file mode 100644
index 0000000..a9f9db0
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17952-stream decorator test refactoring - use.yml
@@ -0,0 +1,7 @@
+title: Stream decorator test refactoring - use underscore rather than dot in aliases
+type: other
+authors:
+- name: Andy Webb
+links:
+- name: SOLR-17952
+  url: https://issues.apache.org/jira/browse/SOLR-17952
diff --git a/changelog/v9.10.0/SOLR-17956-xlsxresponsewriter has been deprecated and will.yml b/changelog/v9.10.0/SOLR-17956-xlsxresponsewriter has been deprecated and will.yml
new file mode 100644
index 0000000..f4a7887
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17956-xlsxresponsewriter has been deprecated and will.yml
@@ -0,0 +1,7 @@
+title: XLSXResponseWriter has been deprecated and will be removed in a future release.
+type: other
+authors:
+- name: Jan Høydahl
+links:
+- name: SOLR-17956
+  url: https://issues.apache.org/jira/browse/SOLR-17956
diff --git a/changelog/v9.10.0/SOLR-17958-the tika language identifier is deprecated- use.yml b/changelog/v9.10.0/SOLR-17958-the tika language identifier is deprecated- use.yml
new file mode 100644
index 0000000..a082b31
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17958-the tika language identifier is deprecated- use.yml
@@ -0,0 +1,8 @@
+title: The Tika Language Identifier is deprecated. Use one of the other detectors
+  instead.
+type: other
+authors:
+- name: Jan Høydahl
+links:
+- name: SOLR-17958
+  url: https://issues.apache.org/jira/browse/SOLR-17958
diff --git a/changelog/v9.10.0/SOLR-17964-lucene-9.12.3.yml b/changelog/v9.10.0/SOLR-17964-lucene-9.12.3.yml
new file mode 100644
index 0000000..fdaee37
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-17964-lucene-9.12.3.yml
@@ -0,0 +1,10 @@
+# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
+title: Upgrade Lucene to 9.12.3
+type: dependency_update
+authors:
+  - name: Christine Poerschke
+    nick: cpoerschke
+    url: https://home.apache.org/phonebook.html?uid=cpoerschke
+links:
+  - name: SOLR-17964
+    url: https://issues.apache.org/jira/browse/SOLR-17964
diff --git a/changelog/v9.10.0/SOLR-3696-fix for lb-cloud solrclients that could leak on.yml b/changelog/v9.10.0/SOLR-3696-fix for lb-cloud solrclients that could leak on.yml
new file mode 100644
index 0000000..cca8675
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-3696-fix for lb-cloud solrclients that could leak on.yml
@@ -0,0 +1,8 @@
+title: Fix for LB/Cloud SolrClients that could leak on close() if concurrent request
+  failed and triggered zombie server logic.
+type: fixed
+authors:
+- name: hossman
+links:
+- name: SOLR-3696
+  url: https://issues.apache.org/jira/browse/SOLR-3696
diff --git a/changelog/v9.10.0/SOLR-7632-the extraction request handler- aka solr cell-.yml b/changelog/v9.10.0/SOLR-7632-the extraction request handler- aka solr cell-.yml
new file mode 100644
index 0000000..2114802
--- /dev/null
+++ b/changelog/v9.10.0/SOLR-7632-the extraction request handler- aka solr cell-.yml
@@ -0,0 +1,11 @@
+title: The Extraction Request Handler, aka Solr Cell, now supports delegating the
+  parsing of rich documents to an external Tika Server. This allows for a more stable
+  Solr server, and easier to configure and scale parsing independently. The local
+  in-process Tika parser is now deprecated.
+type: added
+authors:
+- name: Jan Høydahl
+- name: Eric Pugh
+links:
+- name: SOLR-7632
+  url: https://issues.apache.org/jira/browse/SOLR-7632
diff --git a/changelog/v9.10.0/release-date.txt b/changelog/v9.10.0/release-date.txt
new file mode 100644
index 0000000..7062185
--- /dev/null
+++ b/changelog/v9.10.0/release-date.txt
@@ -0,0 +1 @@
+2025-11-01
\ No newline at end of file
diff --git a/changelog/v9.10.0/version-summary.md b/changelog/v9.10.0/version-summary.md
new file mode 100644
index 0000000..8eed6f4
--- /dev/null
+++ b/changelog/v9.10.0/version-summary.md
@@ -0,0 +1,100 @@
+<!-- @formatter:off -->
+<!-- noinspection -->
+<!-- Prevents auto format, for JetBrains IDE File > Settings > Editor > Code Style (Formatter Tab) > Turn formatter on/off with markers in code comments  -->
+
+<!-- This file is automatically generate by logchange tool 🌳 🪓 => 🪵 -->
+<!-- Visit https://github.com/logchange/logchange and leave a star 🌟 -->
+<!-- !!! ⚠️ DO NOT MODIFY THIS FILE, YOUR CHANGES WILL BE LOST ⚠️ !!! -->
+
+
+[9.10.0] - 2025-11-01
+---------------------
+
+### Added (4 changes)
+
+- Add Amazon Linux as known distro for installing Solr as a service. #3778 (Eric Pugh) (Andreas Rütten)
+- shards.preference=replica.location now supports the "host" option for routing to replicas on the same host. [SOLR-17915](https://issues.apache.org/jira/browse/SOLR-17915) (Houston Putman)
+- Add fullOuterJoin stream function [SOLR-17923](https://issues.apache.org/jira/browse/SOLR-17923) (Andy Webb)
+- The Extraction Request Handler, aka Solr Cell, now supports delegating the parsing of rich documents to an external Tika Server. This allows for a more stable Solr server, and easier to configure and scale parsing independently. The local in-process Tika parser is now deprecated. [SOLR-7632](https://issues.apache.org/jira/browse/SOLR-7632) (Jan Høydahl) (Eric Pugh)
+
+### Changed (6 changes)
+
+- Solr is now able to start on Java 24 and later, but with Security Manager disabled [SOLR-17641](https://issues.apache.org/jira/browse/SOLR-17641) (Houston Putman) (Jan Høydahl)
+- DocBasedVersionConstraintsProcessorFactory now supports PULL replicas. [SOLR-17860](https://issues.apache.org/jira/browse/SOLR-17860) (Houston Putman)
+- SolrJ users not using deprecated SolrClients can safely exclude Apache HttpClient dependencies. [SOLR-17884](https://issues.apache.org/jira/browse/SOLR-17884) (David Smiley)
+- Speed up Remote Proxy for high QPS, utilizing ClusterState caching. [SOLR-17893](https://issues.apache.org/jira/browse/SOLR-17893) (Houston Putman)
+- CloudSolrClient now recognizes UnknownHostException as a case to refetch the cluster state and retry. [SOLR-17897](https://issues.apache.org/jira/browse/SOLR-17897) (David Smiley)
+- SolrJ CloudSolrClient configured with a Solr URL (not ZK) now refreshes liveNodes in the background. This will reduce spikes in request latency when the cached liveNodes have expired. [SOLR-17921](https://issues.apache.org/jira/browse/SOLR-17921) (Houston Putman) (David Smiley)
+
+### Fixed (16 changes)
+
+- Make solr bin/solr zk CLI tools read ZK_HOST environment as they did pre Solr 9.8. With this regression fixed it is no longer necessary to pass the --zk-host option to the CLI tools if ZK_HOST is set. [SOLR-17690](https://issues.apache.org/jira/browse/SOLR-17690) ([Jan Høydahl](https://home.apache.org/phonebook.html?uid=janhoy) @janhoy)
+- Starting solr on newer Windows 11 Home complained about missing wmic [SOLR-17717](https://issues.apache.org/jira/browse/SOLR-17717) (Jan Høydahl)
+- NPE can occur when doing Atomic Update using Add Distinct on documents with a null field value. [SOLR-17721](https://issues.apache.org/jira/browse/SOLR-17721) (puneetSharma) (Eric Pugh)
+- Fixed dense/sparse representation in LTR module. [SOLR-17760](https://issues.apache.org/jira/browse/SOLR-17760) (Anna Ruggero) (Alessandro Benedetti)
+- When Solr forwards/proxies requests to another node that can service the request, it needs to pass authorization headers. [SOLR-17789](https://issues.apache.org/jira/browse/SOLR-17789) (Timo Crabbé)
+- RecoveryStrategy.pingLeader could NPE when there's no shard leader [SOLR-17824](https://issues.apache.org/jira/browse/SOLR-17824) (David Smiley)
+- v1 Restore API no longer conflates backup-name and collection-name during validation. [SOLR-17830](https://issues.apache.org/jira/browse/SOLR-17830) (Abhishek Umarjikar) (Jason Gerlowski)
+- ExitableDirectoryReader always initialized with QueryLimits.NONE [SOLR-17831](https://issues.apache.org/jira/browse/SOLR-17831) (Andrzej Białecki)
+- Fixed a bug preventing Config API set properties (aka: configoverlay.json) from being used in config file property substitution [SOLR-17834](https://issues.apache.org/jira/browse/SOLR-17834) (hossman)
+- PULL replica nodes could be marked as "preferredLeader" by BALANCESHARDUNIQUE despite never being able to be elected leader [SOLR-17837](https://issues.apache.org/jira/browse/SOLR-17837) (Kevin Liang) (Houston Putman)
+- Fix race condition in SolrCore's fingerprint cache which caused leader election to hang. [SOLR-17863](https://issues.apache.org/jira/browse/SOLR-17863) (Luke Kot-Zaniewski) (Matthew Biscocho)
+- Avoid creating grouping shard requests when timeAllowed has already run out. [SOLR-17869](https://issues.apache.org/jira/browse/SOLR-17869) (Andrzej Bialecki) (hossman)
+- Http2SolrClient wasn't honoring idle timeout configuration above 30 seconds -- a regression. [SOLR-17871](https://issues.apache.org/jira/browse/SOLR-17871) (Thomas Wöckinger) (David Smiley)
+- Http2SolrClient: followRedirects=true: if Http2SolrClient was created with followRedirects=true, and then was used to create future clients (via builder.withHttpClient), then redirect processing was wrongly disabled on the shared instance. [SOLR-17876](https://issues.apache.org/jira/browse/SOLR-17876) (David Smiley)
+- SolrCLI tools such as "bin/solr zk" can now access jars located in `&lt;install_dir&gt;/lib`. [SOLR-17883](https://issues.apache.org/jira/browse/SOLR-17883) 
+- Fix for LB/Cloud SolrClients that could leak on close() if concurrent request failed and triggered zombie server logic. [SOLR-3696](https://issues.apache.org/jira/browse/SOLR-3696) (hossman)
+
+### Dependency Upgrades (37 changes)
+
+- Update apache.zookeeper to v3.9.3 [PR#3061](https://github.com/apache/solr/pull/3061) (solrbot)
+- Update amazon.awssdk to v2.31.77 [PR#3228](https://github.com/apache/solr/pull/3228) (solrbot)
+- Update actions/checkout action to v5 [PR#3486](https://github.com/apache/solr/pull/3486) (solrbot)
+- Update com.carrotsearch.randomizedtesting:randomizedtesting-runner to v2.8.3 [PR#3526](https://github.com/apache/solr/pull/3526) (solrbot)
+- Update org.xerial.snappy:snappy-java to v1.1.10.8 [PR#3528](https://github.com/apache/solr/pull/3528) (solrbot)
+- Update org.apache.kafka:* to v3.9.1 [PR#3530](https://github.com/apache/solr/pull/3530) (solrbot)
+- Update org.apache.zookeeper:* to v3.9.4 [PR#3531](https://github.com/apache/solr/pull/3531) (solrbot)
+- Update org.eclipse.jetty*:* to v10.0.26 [PR#3533](https://github.com/apache/solr/pull/3533) (solrbot)
+- Update org.glassfish.jersey*:* to v3.1.11 [PR#3534](https://github.com/apache/solr/pull/3534) (solrbot)
+- Update org.slf4j:* to v2.0.17 [PR#3535](https://github.com/apache/solr/pull/3535) (solrbot)
+- Update com.google.re2j:re2j to v1.8 [PR#3541](https://github.com/apache/solr/pull/3541) (solrbot)
+- Update commons-codec:commons-codec to v1.19.0 [PR#3542](https://github.com/apache/solr/pull/3542) (solrbot)
+- Update commons-io:commons-io to v2.20.0 [PR#3543](https://github.com/apache/solr/pull/3543) (solrbot)
+- Update io.opentelemetry:opentelemetry-bom to v1.53.0 [PR#3544](https://github.com/apache/solr/pull/3544) (solrbot)
+- Update org.apache.commons:commons-collections4 to v4.5.0 [PR#3545](https://github.com/apache/solr/pull/3545) (solrbot)
+- Update org.apache.commons:commons-compress to v1.28.0 [PR#3546](https://github.com/apache/solr/pull/3546) (solrbot)
+- Update org.apache.commons:commons-configuration2 to v2.12.0 [PR#3547](https://github.com/apache/solr/pull/3547) (solrbot)
+- Update org.apache.commons:commons-exec to v1.5.0 [PR#3548](https://github.com/apache/solr/pull/3548) (solrbot)
+- Update org.apache.hadoop.thirdparty:hadoop-shaded-guava to v1.4.0 [PR#3550](https://github.com/apache/solr/pull/3550) (solrbot)
+- Update org.immutables:value-annotations to v2.11.3 [PR#3557](https://github.com/apache/solr/pull/3557) (solrbot)
+- Update org.semver4j:semver4j to v5.8.0 [PR#3558](https://github.com/apache/solr/pull/3558) (solrbot)
+- Update org.apache.curator:* to v5.9.0 [PR#3561](https://github.com/apache/solr/pull/3561) (solrbot)
+- Update plugin com.github.node-gradle.node to v7.1.0 [PR#3564](https://github.com/apache/solr/pull/3564) (solrbot)
+- Update plugin com.palantir.consistent-versions to v2.37.0 [PR#3569](https://github.com/apache/solr/pull/3569) (solrbot)
+- Update plugin de.undercouch.download to v5.6.0 [PR#3570](https://github.com/apache/solr/pull/3570) (solrbot)
+- Update actions/setup-java action to v5 [PR#3571](https://github.com/apache/solr/pull/3571) (solrbot)
+- Update plugin com.diffplug.spotless to v7 [PR#3583](https://github.com/apache/solr/pull/3583) (solrbot)
+- Update org.hsqldb:hsqldb to v2.7.4 [PR#3586](https://github.com/apache/solr/pull/3586) (solrbot)
+- Update net.bytebuddy:* to v1.17.7 [PR#3587](https://github.com/apache/solr/pull/3587) (solrbot)
+- Update org.mockito:mockito* to v5.19.0 [PR#3592](https://github.com/apache/solr/pull/3592) (solrbot)
+- Update io.netty:* to v4.2.6.Final [PR#3635](https://github.com/apache/solr/pull/3635) (solrbot)
+- Update org.apache.commons:commons-lang3 to v3.19.0 [PR#3689](https://github.com/apache/solr/pull/3689) (solrbot)
+- Update org.bouncycastle:bcpkix-jdk18on to v1.82 [PR#3721](https://github.com/apache/solr/pull/3721) (solrbot)
+- Update org.apache.kerby:* to v2.1.0 [PR#3722](https://github.com/apache/solr/pull/3722) (solrbot)
+- Update gradle/actions action to v5 [PR#3735](https://github.com/apache/solr/pull/3735) (solrbot)
+- Update plugin de.thetaphi.forbiddenapis to v3.10 [PR#3752](https://github.com/apache/solr/pull/3752) (solrbot)
+- Upgrade Lucene to 9.12.3 [SOLR-17964](https://issues.apache.org/jira/browse/SOLR-17964) ([Christine Poerschke](https://home.apache.org/phonebook.html?uid=cpoerschke) @cpoerschke)
+
+### Other (9 changes)
+
+- Deprecate `CloudHttp2SolrClient.Builder#withHttpClient` in favor of `CloudHttp2SolrClient.Builder#withInternalClientBuilder`. Deprecate `LBHttp2SolrClient.Builder#withListenerFactory` in favor of `LBHttp2SolrClient.Builder#withListenerFactories`. [SOLR-17541](https://issues.apache.org/jira/browse/SOLR-17541) (James Dyer)
+- Use logchange for changelog management ([Jan Høydahl](https://home.apache.org/phonebook.html?uid=janhoy) @janhoy)
+- SolrCloud "live_node" now has metadata: version of Solr, roles [SOLR-17620](https://issues.apache.org/jira/browse/SOLR-17620) (Yuntong Qu) (David Smiley)
+- Deprecating waitForFinalState parameter in any SolrCloud command that accepts it. It remains defaulted to false in 9, but will become true and likely removed. [SOLR-17712](https://issues.apache.org/jira/browse/SOLR-17712) (Abhishek Umarjikar) (David Smiley)
+- Deprecate `CloudSolrClient.Builder` in favor of `CloudHttp2SolrClient.Builder`. [SOLR-17771](https://issues.apache.org/jira/browse/SOLR-17771) (James Dyer)
+- A Solr node will now fail to start if it's major.minor version (e.g. 9.10) is *lower* than that of any existing Solr node in a SolrCloud cluster (as reported by info in "live_node"). [SOLR-17879](https://issues.apache.org/jira/browse/SOLR-17879) (David Smiley)
+- Stream decorator test refactoring - use underscore rather than dot in aliases [SOLR-17952](https://issues.apache.org/jira/browse/SOLR-17952) (Andy Webb)
+- XLSXResponseWriter has been deprecated and will be removed in a future release. [SOLR-17956](https://issues.apache.org/jira/browse/SOLR-17956) (Jan Høydahl)
+- The Tika Language Identifier is deprecated. Use one of the other detectors instead. [SOLR-17958](https://issues.apache.org/jira/browse/SOLR-17958) (Jan Høydahl)
+
+