You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by ge...@apache.org on 2024/02/07 20:55:27 UTC

svn commit: r67236 [2/20] - in /dev/solr/solr-9.5.0-RC3-rev-cdd27dd15c3a6574032e9b1b92b148ab4e383599: ./ solr/ solr/9.5.0/ solr/9.5.0/changes/ solr/9.5.0/docker/ solr/9.5.0/maven/ solr/9.5.0/maven/org/ solr/9.5.0/maven/org/apache/ solr/9.5.0/maven/org/...

Added: dev/solr/solr-9.5.0-RC3-rev-cdd27dd15c3a6574032e9b1b92b148ab4e383599/solr/9.5.0/changes/Changes.html
==============================================================================
--- dev/solr/solr-9.5.0-RC3-rev-cdd27dd15c3a6574032e9b1b92b148ab4e383599/solr/9.5.0/changes/Changes.html (added)
+++ dev/solr/solr-9.5.0-RC3-rev-cdd27dd15c3a6574032e9b1b92b148ab4e383599/solr/9.5.0/changes/Changes.html Wed Feb  7 20:55:25 2024
@@ -0,0 +1,23829 @@
+<!--
+**********************************************************
+** WARNING: This file is generated from CHANGES.txt by the 
+**          Perl script 'changes2html.pl'.
+**          Do *not* edit this file!
+**********************************************************
+          
+****************************************************************************
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+****************************************************************************
+-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <title>Apache Solr Release Notes</title>
+  <link rel="stylesheet" href="ChangesFancyStyle.css" title="Fancy">
+  <link rel="alternate stylesheet" href="ChangesSimpleStyle.css" title="Simple">
+  <link rel="alternate stylesheet" href="ChangesFixedWidthStyle.css" title="Fixed Width">
+  <META http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+  <SCRIPT>
+    function toggleList(id) {
+      listStyle = document.getElementById(id + '.list').style;
+      anchor = document.getElementById(id);
+      if (listStyle.display == 'none') {
+        listStyle.display = 'block';
+        anchor.title = 'Click to collapse';
+        location.href = '#' + id;
+      } else {
+        listStyle.display = 'none';
+        anchor.title = 'Click to expand';
+      }
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = false;
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = false;
+    }
+
+    function collapseAll() {
+      var unorderedLists = document.getElementsByTagName("ul");
+      for (var i = 0; i < unorderedLists.length; i++) {
+        if (unorderedLists[i].className != 'bulleted-list')
+          unorderedLists[i].style.display = "none";
+        else
+          unorderedLists[i].style.display = "block";
+      }
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++)
+        orderedLists[i].style.display = "none";
+      var olderList = document.getElementById("older.list");
+      olderList.style.display = "none";
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        if (anchors[i].id != '')
+          anchors[i].title = 'Click to expand';
+      }
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = true;
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = false;
+    }
+
+    function expandAll() {
+      var unorderedLists = document.getElementsByTagName("ul");
+      for (var i = 0; i < unorderedLists.length; i++)
+        unorderedLists[i].style.display = "block";
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++)
+        orderedLists[i].style.display = "block"; 
+      var olderList = document.getElementById("older.list");
+      olderList.style.display = "block";
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        if (anchors[i].id != '')
+          anchors[i].title = 'Click to collapse';
+      }
+      var expandButton = document.getElementById('expand.button');
+      expandButton.disabled = true;
+      var collapseButton = document.getElementById('collapse.button');
+      collapseButton.disabled = false;
+
+    }
+
+    var newerRegex = new RegExp("^(?:v9\\\\.5\\\\.0|v9\\\\.4\\\\.1)");
+    function isOlder(listId) {
+      return ! newerRegex.test(listId);
+    }
+
+    function escapeMeta(s) {
+      return s.replace(/(?=[.*+?^${}()|[\]\/\\])/g, '\\');
+    }
+
+    function shouldExpand(currentList, currentAnchor, listId) {
+      var listName = listId.substring(0, listId.length - 5);
+      var parentRegex = new RegExp("^" + escapeMeta(listName) + "\\.");
+      return currentList == listId
+             || (isOlder(currentAnchor) && listId == 'older.list')
+             || parentRegex.test(currentAnchor);
+    }
+
+    function collapse() {
+      /* Collapse all but the first and second releases. */
+      var unorderedLists = document.getElementsByTagName("ul");
+      var currentAnchor = location.hash.substring(1);
+      var currentList = currentAnchor + ".list";
+
+      for (var i = 0; i < unorderedLists.length; i++) {
+        var list = unorderedLists[i];
+        /* Collapse the current item, unless either the current item is one of
+         * the first two releases, or the current URL has a fragment and the
+         * fragment refers to the current item or one of its ancestors.
+         */
+        if (list.id != 'v9.5.0.list' 
+            && list.id != 'v9.4.1.list'
+            && list.className != 'bulleted-list'
+            && (currentAnchor == ''
+                || ! shouldExpand(currentList, currentAnchor, list.id))) {
+          list.style.display = "none";
+        }
+      }
+      var orderedLists = document.getElementsByTagName("ol");
+      for (var i = 0; i < orderedLists.length; i++) {
+        var list = orderedLists[i];
+        /* Collapse the current item, unless the current URL has a fragment
+         * and the fragment refers to the current item or one of its ancestors.
+         */
+        if (currentAnchor == ''
+            || ! shouldExpand(currentList, currentAnchor, list.id)) {
+          list.style.display = "none";
+        }
+      }
+      var olderList = document.getElementById("older.list");
+      olderList.style.display = "none";
+      /* Add "Click to collapse/expand" tooltips to the release/section headings */
+      var anchors = document.getElementsByTagName("a");
+      for (var i = 0 ; i < anchors.length; i++) {
+        var anchor = anchors[i];
+        if (anchor.id != '') {
+          if (anchor.id == 'v9.5.0' || anchor.id == 'v9.4.1') {
+            anchor.title = 'Click to collapse';
+          } else {
+            anchor.title = 'Click to expand';
+          }
+        }
+      }
+
+      /* Insert "Expand All" and "Collapse All" buttons */
+      var buttonsParent = document.getElementById('buttons.parent');
+      var expandButton = document.createElement('button');
+      expandButton.appendChild(document.createTextNode('Expand All'));
+      expandButton.onclick = function() { expandAll(); }
+      expandButton.id = 'expand.button';
+      buttonsParent.appendChild(expandButton);
+      var collapseButton = document.createElement('button');
+      collapseButton.appendChild(document.createTextNode('Collapse All'));
+      collapseButton.onclick = function() { collapseAll(); }
+      collapseButton.id = 'collapse.button';
+      buttonsParent.appendChild(collapseButton);
+    }
+
+    window.onload = collapse;
+  </SCRIPT>
+</head>
+<body>
+
+<h1>Apache Solr Release Notes</h1>
+
+<div id="buttons.parent"></div>
+
+      <p>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.
+<a href="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</a>
+</p>
+<h2><a id="v9.5.0" href="javascript:toggleList('v9.5.0')">Release 9.5.0 </a></h2>
+<ul id="v9.5.0.list">
+  <li><a id="v9.5.0.new_features" href="javascript:toggleList('v9.5.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(3)
+    <ol id="v9.5.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17006">SOLR-17006</a>: Collection creation &amp; adding replicas: User-defined properties are persisted to state.json and
+applied to new replicas, available for use as property substitution in configuration files.
+<br /><span class="attrib">(Vincent Primault)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16974">SOLR-16974</a>: Circuit Breakers can now be configured globally
+<br /><span class="attrib">(janhoy, Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16743">SOLR-16743</a>: When using TLS, Solr can now auto-reload the keystore and truststore without the need to restart the process.
+This is enabled by default when running with TLS and can be disabled or configured in solr.in.sh
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.5.0.improvements" href="javascript:toggleList('v9.5.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(24)
+    <ol id="v9.5.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17053">SOLR-17053</a>: Distributed search with shards.tolerant: if all shards fail, fail the request
+<br /><span class="attrib">(Aparna Suresh via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16924">SOLR-16924</a>: RESTORECORE now sets the UpdateLog to ACTIVE state instead of requiring a separate
+REQUESTAPPLYUPDATES call in Collection restore.
+<br /><span class="attrib">(Julia Maimone, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16907">SOLR-16907</a>: Fail when parsing an invalid custom permission definition from security.json
+<br /><span class="attrib">(janhoy, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-13748">SOLR-13748</a>: Add support for mm (min should match) parameter to bool query parser
+<br /><span class="attrib">(Andrey Bozhko)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17046">SOLR-17046</a>: SchemaCodecFactory is now the implicit default codec factory.
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16943">SOLR-16943</a>: Extend Solr client tracing coverage to both Jetty Client and Apache HttpClient
+<br /><span class="attrib">(Alex Deparvu, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16397">SOLR-16397</a>: Swap core v2 endpoints have been updated to be more REST-ful.
+SWAP is now available at `POST /api/cores/coreName/swap`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17011">SOLR-17011</a>: Add tracing spans to internal collection commands
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17041">SOLR-17041</a>: Make CommitTracker currentTlogSize lazy
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16397">SOLR-16397</a>: The rename-core v2 endpoint has been updated to be more REST-ful.
+RENAME is now available at `POST /api/cores/coreName/rename`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17035">SOLR-17035</a>: Add trace id to jetty thread names to improve debuggability via stack traces
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17079">SOLR-17079</a>: Allow to declare replica placement plugins in solr.xml
+<br /><span class="attrib">(Vincent Primault)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16959">SOLR-16959</a>: Make the internal CoreSorter implementation configurable in solr.xml
+<br /><span class="attrib">(Vincent Primault)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17050">SOLR-17050</a>: Use compact JSON for Learning to Rank (LTR) feature and model storage.
+<br /><span class="attrib">(Florin Babes, Christine Poerschke, Alessandro Benedetti)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17094">SOLR-17094</a>: Close objects contained inside an ObjectCache.
+<br /><span class="attrib">(Vincent Primault)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16577">SOLR-16577</a>: Ensure core load failures are always logged.
+<br /><span class="attrib">(Haythem Khiri, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17063">SOLR-17063</a>: Do not retain log param references in LogWatcher
+<br /><span class="attrib">(Michael Gibney)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17066">SOLR-17066</a>: SolrClient builders now allow users to specify a "default" collection or core
+using the `withDefaultCollection` method.  Use of the Builder methods is preferable to including
+the collection in the base URL accepted by certain client implementations.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15960">SOLR-15960</a>: Unified use of system properties and environment variables
+<br /><span class="attrib">(janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16397">SOLR-16397</a>: The MERGEINDEXES v2 endpoint has been updated to be more REST-ful.
+MERGEINDEXES is now available at `POST /api/cores/coreName/merge-indices`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2186">PR#2186</a>: Include the external file name in the log instead of the hard-coded value in FileFloatSource.java.
+<br /><span class="attrib">(Hamzeh Aldmour via Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17096">SOLR-17096</a>: solr.xml now supports declaring clusterSingleton plugins
+<br /><span class="attrib">(Paul McArthur, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16397">SOLR-16397</a>: The v2 endpoint to request the status of asynchronous CoreAdmin commands has been updated to be more REST-ful.
+Now available at `GET /api/node/commands/someRequestId`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17068">SOLR-17068</a>: bin/solr post CLI use of options is now aligned closely with bin/post CLI tool, and is consistently
+referenced throughout the Ref Guide and source code, and is used through out our tests.  The bin/post tool
+remains and has been tested to work.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.5.0.optimizations" href="javascript:toggleList('v9.5.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(2)
+    <ol id="v9.5.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17084">SOLR-17084</a>: LBSolrClient (used by CloudSolrClient) now returns the count of core tracked as not live AKA zombies
+instead of the full list of cores.  This list is potentially as long as the number of cores.  When there are many
+cores, this leads to high CPU and memory usage.
+<br /><span class="attrib">(Gilles Bellaton, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17036">SOLR-17036</a>: UpdateLog lazy creates VersionBucket large array, and VersionBucket do not keep the highest version anymore.
+This optimization reduces the memory usage, specially when the SolrCore is not used for indexing
+<br /><span class="attrib">(Bruno Roustant)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.5.0.bug_fixes" href="javascript:toggleList('v9.5.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(11)
+    <ol id="v9.5.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17045">SOLR-17045</a>: DenseVectorField w/ vectorDimension &gt; 1024 now work automatically with _default configset, due to
+implicit use of SchemaCodecFactory.
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-10653">SOLR-10653</a>: When there's a UUIDField in the schema and atomic update touches another field
+the error occurs when leader updates replica
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17093">SOLR-17093</a>: Collection restore API command now returns "requestid" when executed asynchronously like other APIs
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16952">SOLR-16952</a>: In distributed i.e. multi-shard cloud mode returned dense vector 'fl' fields are now a list of numbers instead of strings.
+<br /><span class="attrib">(Qais Qadri, Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17090">SOLR-17090</a>: The v2 "delete alias" API no longer errantly returns a 405 status code
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17121">SOLR-17121</a>: Fix SchemaCodecFactory to get PostingsFormat and DocValues from field.
+<br /><span class="attrib">(Bruno Roustant, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17116">SOLR-17116</a>: The INSTALLSHARDDATA "collection-admin" API now reports errors correctly when run asynchronously.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17074">SOLR-17074</a>: Fixed not correctly escaped quote in bin/solr script
+<br /><span class="attrib">(Dominique Béjean, Vincenzo D'Amore)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17120">SOLR-17120</a>: Fix NullPointerException in UpdateLog.applyOlderUpdates that can occur if there are multiple partial
+updates of the same document in separate requests using commitWithin.
+<br /><span class="attrib">(Calvin Smith, Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17112">SOLR-17112</a>: bin/solr script doesn't do ps properly on some systems.
+<br /><span class="attrib">(Vincenzo D'Amore via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17149">SOLR-17149</a>: Backups on collections with too many shards fail due to restrictive Executor queue size
+<br /><span class="attrib">(Pierre Salagnac via Jason Gerlowski)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.5.0.dependency_upgrades" href="javascript:toggleList('v9.5.0.dependency_upgrades')">Dependency Upgrades</a>&nbsp;&nbsp;&nbsp;(25)
+    <ol id="v9.5.0.dependency_upgrades.list">
+      <li><a href="https://github.com/apache/solr/pull/2055">PR#2055</a>: Update org.mockito:mockito* from v5.5.0 to v5.8.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2165">PR#2165</a>: Update org.eclipse.jetty*:* to v10.0.19
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2159">PR#2159</a>: Update io.netty:* to v4.1.104.Final
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2048">PR#2048</a>: Update dependency commons-cli:commons-cli to v1.6.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2174">PR#2174</a>: Update org.slf4j:* to v2.0.10
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2135">PR#2135</a>: Update dependency com.fasterxml.jackson:jackson-bom to v2.16.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2138">PR#2138</a>: Update dependency org.apache.commons:commons-compress to v1.25.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2139">PR#2139</a>: Update dependency org.apache.commons:commons-lang3 to v3.14.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2035">PR#2035</a>: Update dependency com.google.errorprone:error_prone_annotations to v2.23.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2036">PR#2036</a>: Update io.grpc:grpc-* to v1.59.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2037">PR#2037</a>: Update org.apache.logging.log4j:* to v2.21.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2033">PR#2033</a>: Update io.dropwizard.metrics:* to v4.2.21
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2032">PR#2032</a>: Update dependency io.swagger.core.v3:swagger-annotations to v2.2.17
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2015">PR#2015</a>: Update dependency org.codehaus.woodstox:stax2-api to v4.2.2
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2034">PR#2034</a>: Update dependency com.github.spotbugs:spotbugs-annotations to v4.8.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2014">PR#2014</a>: Update dependency com.google.guava:guava to v32.1.3-jre
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2010">PR#2010</a>: Update dependency org.immutables:value-annotations to v2.10.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2009">PR#2009</a>: Update dependency io.opentelemetry:opentelemetry-bom to v1.31.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2008">PR#2008</a>: Update dependency org.semver4j:semver4j to v5.2.2
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1989">PR#1989</a>: Update org.apache.zookeeper:* to v3.9.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1745">PR#1745</a>: Update dependency com.google.cloud:google-cloud-bom to v0.204.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17012">SOLR-17012</a>: Update Apache Hadoop to 3.3.6 and Apache Curator to 5.5.0
+<br /><span class="attrib">(Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17026">SOLR-17026</a>: Upgrade to Gradle 8.4
+<br /><span class="attrib">(Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17089">SOLR-17089</a>: Upgrade Jersey to 3.1.5
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17097">SOLR-17097</a>: Upgrade Lucene to 9.9.2
+<br /><span class="attrib">(Nazerke Seidan, Christine Poerschke, Pierre Salagnac)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.5.0.other_changes" href="javascript:toggleList('v9.5.0.other_changes')">Other Changes</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v9.5.0.other_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17024">SOLR-17024</a>: Remove support for the long-defunct "collectionDefaults" clusterprops key
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17042">SOLR-17042</a>: Deprecate the V2RequestSupport interface, and the associated `setUseV2` and `setUseBinaryV2` SolrRequest
+methods.  SolrJ users looking to make use of v2 APIs in their applications can use the SolrRequest implementations
+dedicated to that purpose.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17072">SOLR-17072</a>: package CLI tool prints error JSONPath
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17078">SOLR-17078</a>: The `train_and_upload_demo_model.py` script referenced in LTR documentation now uses Python3
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17091">SOLR-17091</a>: dev tools script cloud.sh became broken after changes in 9.3 added a new -slim.tgz file it was not expecting
+cloud.sh has been updated to ignore the -slim.tgz version of the tarball.
+<p>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16880">SOLR-16880</a>: Solr now produces an OpenAPI Specification artifact on releases ("solr-openapi-x.y.z.json") that covers
+Solr's v2 APIs.
+<br /><span class="attrib">(Jason Gerlowski, Houston Putman)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="v9.4.1" href="javascript:toggleList('v9.4.1')">Release 9.4.1  [2024-01-18]</a></h2>
+<ul id="v9.4.1.list">
+  <li><a id="v9.4.1.bug_fixes" href="javascript:toggleList('v9.4.1.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v9.4.1.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17039">SOLR-17039</a>: Entropy calculation in bin/solr script fails in Docker due to missing 'bc' cmd
+<br /><span class="attrib">(janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17057">SOLR-17057</a>: JSON Query regression: If "query" is specified with a String (not JSON structure),
+"defType" should parse it.  Since 9.4 defType was ignored.
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-6853">SOLR-6853</a>: Allow '/' characters in the text managed by Managed Resources API.
+<br /><span class="attrib">(Nikita Rusetskii via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17060">SOLR-17060</a>: CoreContainer#create may deadlock with concurrent requests for metrics
+<br /><span class="attrib">(Alex Deparvu, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17098">SOLR-17098</a>: ZK Credentials and ACLs are no longer sent to all ZK Servers when using Streaming Expressions.
+They will only be used when sent to the default ZK Host.
+<br /><span class="attrib">(Houston Putman, Jan Høydahl, David Smiley, Gus Heck, Qing Xu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16203">SOLR-16203</a>: Properly initialize schema plugins loaded by SPI name
+<br /><span class="attrib">(janhoy, hossman, Uwe Schindler)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.1.dependency_upgrades" href="javascript:toggleList('v9.4.1.dependency_upgrades')">Dependency Upgrades</a>&nbsp;&nbsp;&nbsp;(22)
+    <ol id="v9.4.1.dependency_upgrades.list">
+      <li><a href="https://github.com/apache/solr/pull/2165">PR#2165</a>: Update org.eclipse.jetty*:* to v10.0.19
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2159">PR#2159</a>: Update io.netty:* to v4.1.104.Final
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2048">PR#2048</a>: Update dependency commons-cli:commons-cli to v1.6.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2174">PR#2174</a>: Update org.slf4j:* to v2.0.10
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2135">PR#2135</a>: Update dependency com.fasterxml.jackson:jackson-bom to v2.16.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2138">PR#2138</a>: Update dependency org.apache.commons:commons-compress to v1.25.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2139">PR#2139</a>: Update dependency org.apache.commons:commons-lang3 to v3.14.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2035">PR#2035</a>: Update dependency com.google.errorprone:error_prone_annotations to v2.23.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2036">PR#2036</a>: Update io.grpc:grpc-* to v1.59.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2037">PR#2037</a>: Update org.apache.logging.log4j:* to v2.21.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2033">PR#2033</a>: Update io.dropwizard.metrics:* to v4.2.21
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2032">PR#2032</a>: Update dependency io.swagger.core.v3:swagger-annotations to v2.2.17
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2015">PR#2015</a>: Update dependency org.codehaus.woodstox:stax2-api to v4.2.2
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2031">PR#2031</a>: Update dependency com.fasterxml.jackson:jackson-bom to v2.15.3
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2034">PR#2034</a>: Update dependency com.github.spotbugs:spotbugs-annotations to v4.8.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2014">PR#2014</a>: Update dependency com.google.guava:guava to v32.1.3-jre
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2010">PR#2010</a>: Update dependency org.immutables:value-annotations to v2.10.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2009">PR#2009</a>: Update dependency io.opentelemetry:opentelemetry-bom to v1.31.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2008">PR#2008</a>: Update dependency org.semver4j:semver4j to v5.2.2
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1989">PR#1989</a>: Update org.apache.zookeeper:* to v3.9.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1743">PR#1743</a>: <a href="http://issues.apache.org/jira/browse/SOLR-17012">SOLR-17012</a>: Update Apache Hadoop to 3.3.6 and Apache Curator to 5.5.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1745">PR#1745</a>: Update dependency com.google.cloud:google-cloud-bom to v0.204.0
+<br /><span class="attrib">(solrbot)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.1.other_changes" href="javascript:toggleList('v9.4.1.other_changes')">Other Changes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v9.4.1.other_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16949">SOLR-16949</a>: Restrict certain file types from being uploaded to or downloaded from Config Sets
+<br /><span class="attrib">(janhoy, Houston Putman)</span></li>
+    </ol>
+  </li>
+</ul>
+<h2><a id="older" href="javascript:toggleList('older')">Older Releases</a></h2>
+<div id="older.list">
+<h3><a id="v9.4.0" href="javascript:toggleList('v9.4.0')">Release 9.4.0  [2023-10-14]</a></h3>
+<ul id="v9.4.0.list">
+  <li><a id="v9.4.0.new_features" href="javascript:toggleList('v9.4.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(6)
+    <ol id="v9.4.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16654">SOLR-16654</a>: Add support for node-level caches
+<br /><span class="attrib">(Michael Gibney)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16954">SOLR-16954</a>: Make Circuit Breakers available for Update Requests
+<br /><span class="attrib">(janhoy, Christine Poerschke, Pierre Salagnac)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15056">SOLR-15056</a>: A new Circuit breaker for percentage of CPU utilization is added. The former "CPU" circuit breaker
+is now more correctly named LoadAverageCircuitBreaker as it trips on system load average which is not a percentage.
+Users of legacy CircuitBreakerManager are not affected by this change.
+<br /><span class="attrib">(Walter Underwood, janhoy, Christine Poerschke, Atri Sharma)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15771">SOLR-15771</a>: bin/auth creates reasonable roles and permissions for security: 'search', 'index', 'admin', and 'superadmin' and assigns user superadmin role.
+<br /><span class="attrib">(Eric Pugh, janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15367">SOLR-15367</a>: Convert "rid" functionality into a default Tracer
+<br /><span class="attrib">(Alex Deparvu, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16852">SOLR-16852</a>: Backups now allow metadata to be added as key-values
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.0.improvements" href="javascript:toggleList('v9.4.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(25)
+    <ol id="v9.4.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16490">SOLR-16490</a>: `/admin/cores?action=backupcore` now has a v2 equivalent, available at
+`GET /api/cores/coreName/backups`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16883">SOLR-16883</a>: Postlogs tool for indexing Solr logs in Solr now supported on Windows by converting it to a Solr CLI command: `bin/solr postlogs`.   `bin/postlogs` script marked deprected.
+<br /><span class="attrib">(Eric Pugh, Will White)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16847">SOLR-16847</a>: v2 APIs are now able to access any applicable solrconfig.xml "requestHandler" configuration.
+<br /><span class="attrib">(Alex Deparvu via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-11685">SOLR-11685</a>: When SolrCloud shard leaders change while indexing updates arrive, Solr could fail and return
+a HTTP 503 status. Switched to 510 so that CloudSolrClient will auto-retry it and probably succeed.
+<br /><span class="attrib">(David Smiley, Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16490">SOLR-16490</a>: The semi-internal `/admin/cores?action=restorecore` API now has a v2 equivalent, available at
+`POST /api/cores/coreName/restore {...}`
+<br /><span class="attrib">(Sayanti Dey via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-14667">SOLR-14667</a>: Make zkClientTimeout consistent and based on a system property. The default values are stored in a single place referenced everywhere and they are based on system properties
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16926">SOLR-16926</a>: The embedded Zookeeper's bind host can now be overridden, but still defaults to "127.0.0.1".
+This is useful when using the ZkCli on a remote Solr using the embedded ZK, or Solr running in a Docker container.
+The SOLR_ZK_EMBEDDED_HOST envVar or -Dsolr.zk.embedded.host sysProp control this bind address.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16825">SOLR-16825</a>: Solr now offers `SolrRequest` implementations for a subset of its v2 APIs.  These implementations
+are experimental and should be used with caution, but may be preferable to their v1 counterparts in some
+circumstances as they are generated and more likely to remain up-to-date with future API changes.
+<br /><span class="attrib">(Jason Gerlowski, David Smiley, Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16927">SOLR-16927</a>: Allow SolrClientCache clients to use Jetty HTTP2 clients
+<br /><span class="attrib">(Alex Deparvu, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16941">SOLR-16941</a>: The SolrCLI now uses a smarter default for the Solr URL if none is provided, using the same envVars used when running Solr.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16940">SOLR-16940</a>: Users can pass Java system properties to the SolrCLI via the SOLR_TOOL_OPTS environment variable.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15474">SOLR-15474</a>: Make Circuit breakers individually pluggable
+<br /><span class="attrib">(Atri Sharma, Christine Poerschke, janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16982">SOLR-16982</a>: Trip Circuit Breakers only for external requests
+<br /><span class="attrib">(janhoy, Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16896">SOLR-16896</a>, <a href="http://issues.apache.org/jira/browse/SOLR-16897">SOLR-16897</a>: Add support of OAuth 2.0/OIDC 'code with PKCE' flow
+<br /><span class="attrib">(Lamine Idjeraoui, janhoy, Kevin Risden, Anshum Gupta)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16879">SOLR-16879</a>: Limit the number of concurrent expensive core admin operations by running them in a
+dedicated thread pool. Backup, Restore and Split are expensive operations.
+<br /><span class="attrib">(Pierre Salagnac, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16964">SOLR-16964</a>: The solr.jetty.ssl.sniHostCheck option now defaults to the value of SOLR_SSL_CHECK_PEER_NAME, if it is provided.
+This will enable client and server hostName check settings to be governed by the same environment variable.
+If users want separate client/server settings, they can manually override the solr.jetty.ssl.sniHostCheck option in SOLR_OPTS.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16970">SOLR-16970</a>: SOLR_OPTS is now able to override options set by the Solr control scripts, "bin/solr" and "bin/solr.cmd".
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16968">SOLR-16968</a>: The MemoryCircuitBreaker now uses average heap usage over the last 30 seconds
+<br /><span class="attrib">(janhoy, Christine Poerschke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-14886">SOLR-14886</a>: Suppress stack traces in query response
+<br /><span class="attrib">(Isabelle Giguere via Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16461">SOLR-16461</a>: `/solr/coreName/replication?command=backup` now has a v2 equivalent, available at
+`/api/cores/coreName/replication/backups`
+<br /><span class="attrib">(Sanjay Dutt, Jason Gerlowski, Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16938">SOLR-16938</a>: Auto configure tracer without a &lt;tracerConfig&gt; tag in solr.xml
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16950">SOLR-16950</a>: SimpleTracer propagation for manual transaction ids
+<p>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15440">SOLR-15440</a>: The Learning To Rank FieldValueFeature now uses DocValues when docValues=true and stored=true are combined.
+<br /><span class="attrib">(Christine Poerschke, Tom Gilke)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16959">SOLR-16959</a>: Make the internal CoresLocator implementation configurable in solr.xml
+<br /><span class="attrib">(Vincent Primault via David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16967">SOLR-16967</a>: Some ConfigSet operations formerly required that solrconfig.xml exist but should not have because
+the name of the file is configurable when creating cores / collections.
+<br /><span class="attrib">(David Smiley)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.0.optimizations" href="javascript:toggleList('v9.4.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v9.4.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16845">SOLR-16845</a>: BinaryResponseWriter should not attempt cast to Utf8CharSequence
+<br /><span class="attrib">(Alex Deparvu via Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16265">SOLR-16265</a>: reduce memory usage of ContentWriter based requests in Http2SolrClient
+<br /><span class="attrib">(Alex Deparvu, Kevin Risden, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16989">SOLR-16989</a>: Optimize and consolidate reuse of DocValues iterators for value retrieval
+<br /><span class="attrib">(Michael Gibney)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17004">SOLR-17004</a>: ZkStateReader waitForState should check clusterState before using watchers
+<br /><span class="attrib">(Kevin Risden)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.0.bug_fixes" href="javascript:toggleList('v9.4.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(34)
+    <ol id="v9.4.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16886">SOLR-16886</a>: Don't commit multi-part uploads that have been aborted
+<br /><span class="attrib">(Tomás Fernández Löbbe, Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16889">SOLR-16889</a>: Rate Limiter should stop processing on 429
+<br /><span class="attrib">(Alex Deparvu, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16906">SOLR-16906</a>: Correctly capture REPLICATION metrics in Prometheus config
+<br /><span class="attrib">(Daisuke Aritomo via Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16905">SOLR-16905</a>: Allow access to specified "solr.allowPaths" in Security Manager
+<br /><span class="attrib">(daylicron, Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16922">SOLR-16922</a>: Scripts wrongly prohibit embedded zookeeper when solr port is between 55535 and 64535
+<br /><span class="attrib">(Tiziano Degaetano, Colvin Cowie)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16360">SOLR-16360</a>: Atomic update on boolean fields doesn't reflect when value starts with "1", "t" or "T"
+<br /><span class="attrib">(Rahul Goswami, Justin Sweeney, David Smiley)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1826">PR#1826</a>: Allow looking up Solr Package repo when that URL references a raw repository.json hosted on Github when the file is JSON but the mimetype used is text/plain.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16944">SOLR-16944</a>: V2 API /api/node/health should be governed by "health" permission, not "config-read"
+<br /><span class="attrib">(janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16859">SOLR-16859</a>: Missing Proxy support for Http2SolrClient
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16929">SOLR-16929</a>: SolrStream propagates undecoded error message
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16934">SOLR-16934</a>: Allow Solr to read client (javax.net.ssl.*) trustStores and keyStores via SecurityManager.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16946">SOLR-16946</a>: Updated Cluster Singleton plugins are stopped correctly when the Overseer is closed.
+<br /><span class="attrib">(Paul McArthur)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16933">SOLR-16933</a>: Include the full query response when using the API tool, and fix serialization issues for SolrDocumentList.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16916">SOLR-16916</a>: Use of the JSON Query DSL should ignore the defType parameter
+<br /><span class="attrib">(Christina Chortaria, Max Kadel, Ryan Laddusaw, Jane Sandberg, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16958">SOLR-16958</a>: Fix spurious warning about LATEST luceneMatchVersion
+<br /><span class="attrib">(Colvin Cowie)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16955">SOLR-16955</a>: Tracing v2 apis breaks SecurityConfHandler
+<br /><span class="attrib">(Alex Deparvu, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16044">SOLR-16044</a>: SlowRequest logging is no longer disabled if SolrCore logger set to ERROR
+<br /><span class="attrib">(janhoy, hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16415">SOLR-16415</a>: asyncId must not have '/'; enforce this.  Enhance ZK cleanup to process directories
+instead of fail.
+<br /><span class="attrib">(David Smiley, Paul McArthur)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16899">SOLR-16899</a>: CoreAdminOp are statically registered in CoreAdminHandler, preventing more than one Solr instance in the same JVM
+<br /><span class="attrib">(Vincent Primault via Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16963">SOLR-16963</a>: The "solr.jetty.ssl.verifyClientHostName" sysProp and "SOLR_SSL_CLIENT_HOSTNAME_VERIFICATION" envVar have been fixed,
+and the setting once again tells the server to check the originating client hostname against the client certificate when doing mTLS.
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16973">SOLR-16973</a>: fix REMOTE_JMX_OPTS to delayed expansion
+<br /><span class="attrib">(Tiziano Degaetano via Colvin Cowie)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16971">SOLR-16971</a>: RealTimeGet with Composite router throws NPE
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16931">SOLR-16931</a>: ReRankScaler explain breaks with debug=true and in distributed mode
+<br /><span class="attrib">(Joel Bernstein)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16983">SOLR-16983</a>: Fixed a bug that could cause some usages of SolrStream to fail to close InputStreams from the server.
+Also fixed the usage of ObjectReleaseTracker in SolrTestCaseJ4 to catch these kinds of bugs
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16925">SOLR-16925</a>: Fix indentation for JacksonJsonWriter
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16701">SOLR-16701</a>: Fix race condition on PRS enabled collection deletion
+<br /><span class="attrib">(Patson Luk)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16991">SOLR-16991</a>: Concurrent requests failing JWT authentication in Admin UI intermittently
+<br /><span class="attrib">(Lamine Idjeraoui, janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16997">SOLR-16997</a>: OTEL configurator NPE when SOLR_HOST not set
+<br /><span class="attrib">(janhoy)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1963">PR#1963</a>: Fix the admin UI green core-size graph on nodes screen
+<br /><span class="attrib">(janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16980">SOLR-16980</a>: Connect to SOLR standalone with basic authentication
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16992">SOLR-16992</a>: Non-reproducible StreamingTest failures -- suggests CloudSolrStream concurency race condition
+<br /><span class="attrib">(Alex Deparvu, hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16644">SOLR-16644</a>: Fixing the entropy warning threshold using scaling based on poolsize
+<br /><span class="attrib">(Raghavan Muthuregunathan)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17009">SOLR-17009</a>: json.wrf parameter ignored in JacksonJsonWriter
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-17019">SOLR-17019</a>: ZkCli should create subpaths when necessary
+<br /><span class="attrib">(Houston Putman)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.0.dependency_upgrades" href="javascript:toggleList('v9.4.0.dependency_upgrades')">Dependency Upgrades</a>&nbsp;&nbsp;&nbsp;(4)
+    <ol id="v9.4.0.dependency_upgrades.list">
+      <li><a href="https://github.com/apache/solr/pull/1846">PR#1846</a>: Update io.opentelemetry to 1.29.0
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16985">SOLR-16985</a>: Upgrade Lucene to 9.8.0
+<br /><span class="attrib">(Alex Deparvu, Christine Poerschke)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1971">PR#1971</a>: Update forbiddenapis to 3.6 to support Java 21/22 and commons-io up to 2.14.0
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/2001">PR#2001</a>: Update org.eclipse.jetty to 10.0.17
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.4.0.other_changes" href="javascript:toggleList('v9.4.0.other_changes')">Other Changes</a>&nbsp;&nbsp;&nbsp;(10)
+    <ol id="v9.4.0.other_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16842">SOLR-16842</a>: Eliminate special case code in Solr CLI by introducing explicit VersionTool.java.
+<br /><span class="attrib">(Eric Pugh, Will White)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16856">SOLR-16856</a>: The default auto-soft-commit time has been set to 3 seconds. Previously, auto-soft-commit was disabled by default.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1629">PR#1629</a>: Fix typos in org.apache.solr.core package
+<br /><span class="attrib">(Andrey Bozhko, Marcus Eagan)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16803">SOLR-16803</a>: Remove dependencies on methods defined in the SimplePostTool from Solr core and solrj modules.
+<p>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16915">SOLR-16915</a>: Lower the AffinityPlacementPlugin's default minimalFreeDiskGB to 5 GB
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-6994">SOLR-6994</a>: Implement Windows version of bin/post via implementing bin/solr post command that works on Windows and Unix.  Deprecate bin/post.
+<br /><span class="attrib">(Eric Pugh, Will White)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16623">SOLR-16623</a>: new SolrJettyTestRule for tests needing HTTP or Jetty.
+<br /><span class="attrib">(David Smiley, Joshua Ouma)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16979">SOLR-16979</a>: BATS integration tests now start solr instances on a randomly selected port
+<br /><span class="attrib">(janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16978">SOLR-16978</a>: Be case insensitive when parsing booleans from text
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16960">SOLR-16960</a>: Tests should sometimes run with a Tracer (not no-op)
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+    </ol>
+  </li>
+</ul>
+<h3><a id="v9.3.0" href="javascript:toggleList('v9.3.0')">Release 9.3.0  [2023-07-21]</a></h3>
+<ul id="v9.3.0.list">
+  <li><a id="v9.3.0.upgrade_notes" href="javascript:toggleList('v9.3.0.upgrade_notes')">Upgrade Notes</a>&nbsp;&nbsp;&nbsp;(1)
+    <ol id="v9.3.0.upgrade_notes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-13396">SOLR-13396</a>: Add property to control the deletion of unknown cores.  The default setting is to not delete unknown cores.
+This is a change to behaviour introduced in Solr 7.3.1 by <a href="http://issues.apache.org/jira/browse/SOLR-12066">SOLR-12066</a>. To continue using the previous behaviour, Solr can be
+started with the system property `solr.deleteUnknownCores` set to `true`.
+<br /><span class="attrib">(Colvin Cowie, janhoy)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.3.0.new_features" href="javascript:toggleList('v9.3.0.new_features')">New Features</a>&nbsp;&nbsp;&nbsp;(14)
+    <ol id="v9.3.0.new_features.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16697">SOLR-16697</a>: Solr now provides an "Install Shard"  API that allows users who have built (per-shard) indices offline to import
+them into SolrCloud shards.  The API is available at `POST /api/collections/collName/shards/shardName/install`
+(v2), or at `GET /solr/admin/collections?action=INSTALLSHARDDATA` (v1).
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16742">SOLR-16742</a>: Produce a slim Solr binary and docker image, without the Prometheus Exporter and Solr Modules.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16674">SOLR-16674</a>: Introduced support for byte vector encoding in DenseVectorField and KnnQParser
+<br /><span class="attrib">(Elia Porciani via Alessandro Benedetti)</span>.
+<p>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16719">SOLR-16719</a>: AffinityPlacementFactory now supports spreading replicas across domains within the availability zone and
+optionally fail the request if more than a configurable number of replicas need to be placed in a single domain.
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16836">SOLR-16836</a>: Introduced support for high dimensional vectors
+<br /><span class="attrib">(Alessandro Benedetti)</span>.
+<p>
+</li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16806">SOLR-16806</a>: Solr now provides a BalanceReplicas API at `POST /api/cluster/replicas/balance` (v2), to spread replicas
+across a given set of nodes. No v1 API is available.
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe, Jason Gerlowski, Radu Gheorghe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16827">SOLR-16827</a>: Add min/max scaling to the reranker
+<br /><span class="attrib">(Joel Bernstein)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16844">SOLR-16844</a>: Added new parameter `backupConfigset` to collection Backup to optionally skip backing up configsets.
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16837">SOLR-16837</a>: Introducing AffinityPlacementFactory.withCollectionShards to collocate corresponding shards of two collections.
+eg primaryColl.shard1 will be placed to the node where secondaryColl.shard1 resides, etc.
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16812">SOLR-16812</a>: Support CBOR format for update/query
+<br /><span class="attrib">(noble)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16855">SOLR-16855</a>: Solr now provides a MigrateReplicas API at `POST /api/cluster/replicas/migrate` (v2), to move replicas
+off of a given set of nodes. This extends the functionality of the existing ReplaceNode API.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16717">SOLR-16717</a>: {!join} can join collections with multiple shards on both sides.
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16675">SOLR-16675</a>: Added function queries for dense vector similarity.
+<br /><span class="attrib">(Elia Porciani, Alessandro Benedetti)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16884">SOLR-16884</a>: Solr Javadocs now have searching enabled.
+<br /><span class="attrib">(Mike Drob, Houston Putman)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.3.0.improvements" href="javascript:toggleList('v9.3.0.improvements')">Improvements</a>&nbsp;&nbsp;&nbsp;(42)
+    <ol id="v9.3.0.improvements.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16183">SOLR-16183</a>: XML update allows &lt;doc&gt; &lt;doc name="child"&gt; ... &lt;/doc&gt; &lt;/doc&gt;.
+<br /><span class="attrib">(Vinayak Hegde via Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16638">SOLR-16638</a>: Fix Http2SolrClient's exception message when serverBaseUrl is null
+<br /><span class="attrib">(Alex Deparvu via Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16393">SOLR-16393</a>: The path of the v2 "delete alias" API has been tweaked slightly to be more intuitive, and is now available at
+`DELETE /api/aliases/aliasName`.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16393">SOLR-16393</a>: Solr's v2 "aliasprop" CRUD APIs have been tweaked slightly to be more intuitive.  Alias property modification
+is now available at `PUT /api/aliases/aliasName/properties` (for bulk modification) and `PUT /api/aliases/aliasName/properties/propName`
+(for single property updates).  Additionally new APIs have been added for listing properties (`GET /api/aliases/aliasName/properties`),
+fetching single property values (`GET /api/aliases/aliasName/properties/propName`), and property deletion
+(`DELETE /api/aliases/aliasName/properties/propName`).
+<br /><span class="attrib">(Alex Deparvu via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-10466">SOLR-10466</a>: Introduce Builder setter for defaultCollection on cloud SolrClients.  Deprecated
+direct setter setDefaultCollection on cloud SolrClients.
+<br /><span class="attrib">(Eric Pugh, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16391">SOLR-16391</a>: The path of the v2 "collprop" API has been tweaked slightly to be more intuitive.  Endpoints are now
+available under the `PUT` and `DELETE` verbs at `/api/collections/collName/properties/propName` depending on whether the property is
+being upserted or deleted.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16394">SOLR-16394</a>: The path of the v2 "collection backup" API has been tweaked slightly to be more intuitive, and is now available at
+`POST /api/collections/backups/backupName/versions`.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16458">SOLR-16458</a>: Solr's v2 "logging" APIs have been tweaked slightly to be more intuitive.  The single v2 endpoint that existing previously
+(GET /api/node/logging) has been split into several different APIs.  Logger levels can be fetched or modified at
+`GET /api/node/logging/levels` and `PUT /api/node/logging/levels`, respectively.  Log messages can be returned from a "listener" at
+`GET /api/node/logging/messages`.  And the threshold for the log "listener" can be modified with
+`PUT /api/node/logging/messages/threshold`.
+<br /><span class="attrib">(Jason Gerlowski, Calvince Otieno)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16504">SOLR-16504</a>: Convert CLI tools to use Jetty HTTP 2 client.
+<br /><span class="attrib">(Bence Szabo via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16752">SOLR-16752</a>: Docker: Leave out optional apt packages, slightly reducing image size and lowering attack surface
+<br /><span class="attrib">(Quang-Cuong Bui)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16711">SOLR-16711</a>: Extract SolrCLI tool implementations into their own classes and reorganize CLI related classes into new org.apache.solr.cli package.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15493">SOLR-15493</a>: Throw an error message if the feature store doesn't exist.
+<br /><span class="attrib">(Ilaria Petreti via Alessandro Benedetti)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15737">SOLR-15737</a>: Solr's collection-level "snapshot" APIs now have v2 equivalents.  Snapshots can be created at `POST
+/api/collections/collName/snapshots/snapshotName`, listed at `GET /api/collections/collName/snapshots`, and deleted at
+`DELETE /api/collections/collName/snapshots/snapshotName`.
+<br /><span class="attrib">(John Durham via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16391">SOLR-16391</a>: Solr's v2 "create collection" API has been tweaked slightly to be more intuitive.  It remains available under
+`POST /api/collections`, but the top level "create" command-name key has been removed.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16752">SOLR-16752</a>: Docker: Leave out optional apt packages, slightly reducing image size and lowering attack surface
+<br /><span class="attrib">(Quang-Cuong Bui)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16711">SOLR-16711</a>: Extract SolrCLI tool implementations into their own classes and reorganize CLI related classes into new org.apache.solr.cli package.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15493">SOLR-15493</a>: Throw an error message if the feature store doesn't exist.
+<br /><span class="attrib">(Ilaria Petreti via Alessandro Benedetti)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16393">SOLR-16393</a>: The v2 "create alias" API has been tweaked to be more intuitive.  The format of the request body has changed
+slightly: the "create-alias" command specifier has been removed, the "name" field for individual routers has been renamed
+to "type", and the routers themselves are now always grouped into a list. Additionally the v2 API has moved to the new path
+`POST /api/aliases`.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16394">SOLR-16394</a>: The v2 "restore" API has been tweaked to be more intuitive.  The top-level "restore-collection" command
+specifier has been removed, and the API now lives at the new path `POST /api/backups/backupName/restore`.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16782">SOLR-16782</a>: bin/solr export tool now supports JSON export format as well as the existing JSON With Lines format.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16392">SOLR-16392</a>: The v2 deletereplica API has been tweaked to be more intuitive: single replicas deletion now uses
+`DELETE /api/collections/cName/shards/sName/replicas/rName`, deletion of multiple relicas in a single shard uses
+`DELETE /api/collections/cName/shards/sName/replicas?count=123`, and deletion of multiple replicas from all shards now uses
+`PUT /api/collections/cName/scale {"count": 123"}`
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-14853">SOLR-14853</a>: Security: Converted enableRemoteStreaming and enableStreamBody solrconfig options into system properties and env vars.
+Attempts to set them the old way are no-op and log a warning.
+<br /><span class="attrib">(David Smiley, janhoy, Ishan Chattopadhyaya)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16766">SOLR-16766</a>: Remove -usage as option from bin/solr, and ensure both -help and -h work.
+<br /><span class="attrib">(Bence Szabo via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16759">SOLR-16759</a>: Introducing logAll parameter in the feature logger
+<br /><span class="attrib">(Anna Ruggero, Alessandro Benedetti)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-9378">SOLR-9378</a>: Internal shard requests no longer include the wasteful shard.url param.  [shard] transformer now defaults to returning
+only the shard id (based on luceneMatchVersion), but can be configured to return the legacy list of replicas.
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16394">SOLR-16394</a>: The v2 list and delete (collection) backup APIs have been tweaked to be more intuitive: backup listing now uses
+`GET /api/backups/bName/versions`, backup deletion by ID now uses `DELETE /api/backups/bName/versions/1`, backup deletion by
+recency now uses `DELETE /api/backups/bName/versions?retainLatest=3`, and index-file "garbage collection" now uses
+`PUT /api/backups/backupName/purgeUnused`
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16470">SOLR-16470</a>: `/coreName/replication?commit=indexversion` now has a v2 equivalent, available at
+`GET /api/cores/coreName/replication/indexversion`
+<br /><span class="attrib">(Matthew Biscocho via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16687">SOLR-16687</a>: Add support of SolrClassLoader to SolrZkClient
+<br /><span class="attrib">(Lamine Idjeraoui via Jason Gerlowski &amp; Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-9378">SOLR-9378</a>: Internal shard requests no longer include the wasteful shard.url param.  [shard] transformer now defaults to returning
+only the shard id (based on luceneMatchVersion), but can be configured to return the legacy list of replicas.
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16816">SOLR-16816</a>: Update node metrics while making affinityPlacement selections. Therefore selections can be made given the expected cluster
+information after the previous selections are implemented.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16392">SOLR-16392</a>: The v2 "create shard" API has been tweaked to be more intuitive, by removing the top-level "create"
+command specifier.  The rest of the API remains unchanged.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16806">SOLR-16806</a>: The included PlacementPlugins (Random, Simple, MinimizeCores and Affinity) now all implement the
+OrderedNodePlacementPlugin, which provides the implementation for computePlacements() and computeBalancing().
+Each implementing PlacementPlugin provides a way of weighting Solr Nodes, and the OrderedNodePlacement plugin
+then uses the weights to decide the optimal strategy for placing new replicas or balancing existing replicas.
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe, Jason Gerlowski, Radu Gheorghe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16392">SOLR-16392</a>: The v2 "add-replica" API has been tweaked to be more intuitive, by removing the top-level command specifier and
+changing the path.  The v2 functionality can now be accessed at: `POST /api/collections/cName/shards/sName/replicas {...}`
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16398">SOLR-16398</a>: Several v2 "command" APIs have been tweaked to be more intuitive. "FORCELEADER" is now available at
+`POST /api/collections/cName/shards/sName/force-leader`, "RELOAD" is now available at `POST /api/collections/cName/reload`,
+"SYNCSHARD" is now available at `POST /api/collections/cName/shards/sName/sync-shard`, and "RENAME" is now available at
+`POST /api/collections/cName/rename`.
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16398">SOLR-16398</a>: The v2 "balance-shard-unique" API has been tweaked to be more intuitive, by removing the top-level command
+specifier from the request body, and changing the path. The v2 functionality can now be accessed at:
+`POST /api/collections/cName/balance-shard-unique {...}`
+<br /><span class="attrib">(Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16806">SOLR-16806</a>: The included PlacementPlugins (Random, Simple, MinimizeCores and Affinity) now all implement the
+OrderedNodePlacementPlugin, which provides the implementation for computePlacements() and computeBalancing().
+Each implementing PlacementPlugin provides a way of weighting Solr Nodes, and the OrderedNodePlacement plugin
+then uses the weights to decide the optimal strategy for placing new replicas or balancing existing replicas.
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe, Jason Gerlowski, Radu Gheorghe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16820">SOLR-16820</a>: Align allowed collection names and the validation of them in the CreateCollectionAPI and the PackageTool.
+<br /><span class="attrib">(Will White via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16748">SOLR-16748</a>: The Official Solr Dockerfile has been cleaned up. The SOLR_DOWNLOAD_SERVER arg is now the only way to
+specify where to download Solr from. If the url includes "apache.org", then GPG checks will be computed, otherwise
+the GPG checks will be skipped.
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16470">SOLR-16470</a>: `/coreName/replication?command=filelist` now has a v2 equivalent, available at
+`GET /api/cores/coreName/replication/files?generation=123`
+<br /><span class="attrib">(Matthew Biscocho via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16878">SOLR-16878</a>: Use Log4J JUL manager when starting Java. This is necessary for Lucene logs to be included with Solr logs.
+<br /><span class="attrib">(Houston Putman, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16397">SOLR-16397</a>: Reload core v2 endpoints have been updated to be more REST-ful.
+RELOAD is now available at `POST /api/cores/coreName/reload`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16397">SOLR-16397</a>: Unload core v2 endpoints have been updated to be more REST-ful.
+UNLOAD is now available at `POST /api/cores/coreName/unload`
+<br /><span class="attrib">(Sanjay Dutt via Jason Gerlowski)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.3.0.optimizations" href="javascript:toggleList('v9.3.0.optimizations')">Optimizations</a>&nbsp;&nbsp;&nbsp;(8)
+    <ol id="v9.3.0.optimizations.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16694">SOLR-16694</a>: Shortcut Http2SolrClient mimeType check for default response parse
+<br /><span class="attrib">(Tomás Fernández Löbbe, Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16692">SOLR-16692</a>: Allow setting the a CookieStore implementation in Http2SolrClient. When Cookies are not needed, this can be set to
+`org.eclipse.jetty.util.HttpCookieStore.Empty`, which avoids some of the processing that happens in the default `java.net.InMemoryCookieStore`.
+Solr can also be started with the system property `solr.http.disableCookies` set to `true`, so that the internal clients
+that Solr uses to communicate between nodes use `HttpCookieStore.Empty`.
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16693">SOLR-16693</a>: For query timeAllowed, switch from ExitableDirectoryReader to TimeLimitingBulkScorer
+<br /><span class="attrib">(David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16764">SOLR-16764</a>: Clarify that ExportTool exports documents in JSON with Lines format, not standard JSON.  Add explicit -compress option for gzipping output.
+Add ability to specific a directory for output along with a specific file when using -out.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-14630">SOLR-14630</a>: When querying with the `_route_` or `shards.preference` parameter and if there are multiple replicas for a
+collection on the receiving node, there was sometimes an extra HTTP hop or the non-intended replica may receive the
+request. SolrJ will now form the URL directly to the intended replica of the collection (and not the collection itself).
+<br /><span class="attrib">(Pierre Salagnac, Ivan Djurasevic, Jason Baik)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16846">SOLR-16846</a>: Use IndexOrDocValuesQuery for PointFields on Set queries. This improves the performance in some scenarios when
+the set query is combined with other selective queries.
+<br /><span class="attrib">(Tomás Fernández Löbbe, Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16869">SOLR-16869</a>: Enable Incubating Java Panama Vector APIs when using Java 20 or 21.
+When run using compatible hardware, Vector search will see considerable speed up.
+<br /><span class="attrib">(Houston Putman, Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16273">SOLR-16273</a>: Improve the performance of the Prometheus Metric Exporter scraping metrics
+<br /><span class="attrib">(Matthew Biscocho via David Smiley &amp; Christine Poerschke)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.3.0.bug_fixes" href="javascript:toggleList('v9.3.0.bug_fixes')">Bug Fixes</a>&nbsp;&nbsp;&nbsp;(27)
+    <ol id="v9.3.0.bug_fixes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16638">SOLR-16638</a>: Fix Http2SolrClient's exception message when serverBaseUrl is null
+<br /><span class="attrib">(Alex Deparvu via Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16723">SOLR-16723</a>: Http2SolrClient should not use Apache Http client classes
+<br /><span class="attrib">(Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-9775">SOLR-9775</a>: NPE in QueryResultKey when running clustering search query in some cases.
+<br /><span class="attrib">(Roman Kagan, Christine Poerschke via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-15083">SOLR-15083</a>: Fix default solr-exporter-config.xml metrics with incorrect time unit conversions.
+<br /><span class="attrib">(Matthew Biscocho via janhoy)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16773">SOLR-16773</a>: UI: Cloud&gt;Nodes screen - fix display of cores with non-standard shard names
+<br /><span class="attrib">(janhoy, hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-7609">SOLR-7609</a>: Internal update requests should fail back to the client in some edge cases for shard splits. Use HTTP status 510 so the client can retry the operation.
+<br /><span class="attrib">(Alex Deparvu, David Smiley, Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16737">SOLR-16737</a>: Http2SolrClient needs to inherit all properties when initialized with another http2 client
+<br /><span class="attrib">(Alex Deparvu, Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-13605">SOLR-13605</a>: Fix setting client scoped socket and connect timeouts when using HttpSolrClient.Builder.withHttpClient() method.
+<br /><span class="attrib">(Eric Pugh, Alex Deparvu)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16777">SOLR-16777</a>: Schema Designer now correctly manages trust of the ConfigSets it is managing.
+<br /><span class="attrib">(Ishan Chattopadhyaya, Skay, Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16771">SOLR-16771</a>: Fixed behavior and handling of 'unset' logging levels in /admin/info/logging API and related Admin UI
+<br /><span class="attrib">(hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16783">SOLR-16783</a>: Fixed race condition deleting empty `clusterstate.json` file that could prevent Solr 9 instances from starting with a NoNodeException
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16789">SOLR-16789</a>: Fixed Admin UI dashboard "Security" panel to show the right information regarding authentication
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16760">SOLR-16760</a>: bin/solr package tool supports -h and -help command like other tools.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16765">SOLR-16765</a>: bin/solr export tool limit property was off by 1.  Now limit results exported to the exact number.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16801">SOLR-16801</a>: Reset the thread's contextClassloader after loading the CoreContainer
+<br /><span class="attrib">(Thomas Wöckinger, Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16808">SOLR-16808</a>: Stop publishing environment variables via the Metrics API
+<br /><span class="attrib">(Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16811">SOLR-16811</a>: /update/json/docs?echo and mapUniqueKeyOnly params doesn't work
+<br /><span class="attrib">(Mikhail Khludnev)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16807">SOLR-16807</a>: DenseVectorField breaks catch-all copyFields
+<br /><span class="attrib">(Joel Bernstein)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16831">SOLR-16831</a>: Fixed bin/solr healthcheck command returning cluster status details. Removed SolrCloudTool class that is no longer used.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16848">SOLR-16848</a>: Flaky DeleteReplicaTest.raceConditionOnDeleteAndRegisterReplica
+<br /><span class="attrib">(Alex Deparvu, Paul McArthur)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16619">SOLR-16619</a>: Fix solr scripts running on IBM i
+<br /><span class="attrib">(Jesse Gorzinski via Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16809">SOLR-16809</a>: The configuration for hiding sensitive sysProp information has been joined under `-Dsolr.hiddenSysProps` and `SOLR_HIDDEN_SYS_PROPS`.
+<br /><span class="attrib">(Houston Putman, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16860">SOLR-16860</a>: Coordinator ZkStateReader's watch is not removed upon collection deletion
+<br /><span class="attrib">(Patson Luk)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16861">SOLR-16861</a>: Coordinator node does not have the correct collection/core in MDCLoggingContext
+<br /><span class="attrib">(Patson Luk)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16877">SOLR-16877</a>: BackupManager now allows ConfigSet "files" to be empty, which previously caused NPEs.
+<br /><span class="attrib">(Paul Blanchaert via Houston Putman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16753">SOLR-16753</a>: PRS state is now always updated at the end of a splitShard.
+<br /><span class="attrib">(Houston Putman, hossman)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16891">SOLR-16891</a>: DocCollection, Slice and Replica now write to Json and write to Maps identically.
+<br /><span class="attrib">(Houston Putman, Tomás Fernández Löbbe)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.3.0.dependency_upgrades" href="javascript:toggleList('v9.3.0.dependency_upgrades')">Dependency Upgrades</a>&nbsp;&nbsp;&nbsp;(26)
+    <ol id="v9.3.0.dependency_upgrades.list">
+      <li><a href="https://github.com/apache/solr/pull/1744">PR#1744</a>: Update software.amazon.awssdk:* to v2.20.97
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1712">PR#1712</a>: Update dependency biz.aQute.bnd:biz.aQute.bnd.annotation to v6.4.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1713">PR#1713</a>: Update dependency io.swagger.core.v3:swagger-annotations to v2.2.12
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1715">PR#1715</a>: Update io.grpc:grpc-* to v1.56.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1714">PR#1714</a>: Update dependency org.xerial.snappy:snappy-java to v1.1.10.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1611">PR#1611</a>: Update dependency org.mockito:mockito-core to v5
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1606">PR#1606</a>: Update dependency com.google.cloud:google-cloud-bom to v0.197.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1641">PR#1641</a>: Update dependency org.carrot2:carrot2-core to v4.5.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1686">PR#1686</a>: Update dependency com.google.guava:guava to v32
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1584">PR#1584</a>: Update io.netty:* to v4.1.93.Final
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1582">PR#1582</a>: Update dependency com.github.ben-manes.caffeine:caffeine to v3.1.6
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1685">PR#1685</a>: Update io.dropwizard.metrics:* to v4.2.19
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1599">PR#1599</a>: Update dependency com.fasterxml.jackson:jackson-bom to v2.15.2
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1532">PR#1532</a>: Update dependency joda-time:joda-time to v2.12.5
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1529">PR#1529</a>: Update dependency com.jayway.jsonpath:json-path to v2.8.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1521">PR#1521</a>: Update dependency org.hsqldb:hsqldb to v2.7.1
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1530">PR#1530</a>: Update dependency org.apache.commons:commons-configuration2 to v2.9.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1515">PR#1515</a>: Update org.apache.hadoop:* to v3.3.5
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1493">PR#1493</a>: Update dependency org.apache.commons:commons-compress to v1.23.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1473">PR#1473</a>: Update org.apache.calcite to v1.34.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1472">PR#1472</a>: Update Jetty to 10.0.14, slf4j to 2.0.7, io.dropwizard.metrics to v4.2.18
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1451">PR#1451</a>: Update dependency org.semver4j:semver4j to v4.3.0
+<br /><span class="attrib">(solrbot)</span></li>
+      <li><a href="https://github.com/apache/solr/pull/1494">PR#1494</a>: Upgrade forbiddenapis to 3.5
+<br /><span class="attrib">(Uwe Schindler)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16642">SOLR-16642</a>: Upgrade to Lucene 9.5.0
+<br /><span class="attrib">(Vinayak Hegde, David Smiley)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16799">SOLR-16799</a>: upgrade Solr to use Lucene 9.6.0
+<br /><span class="attrib">(Alex Deparvu, Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16853">SOLR-16853</a>: Upgrade Lucene to 9.7.0
+<br /><span class="attrib">(Alex Deparvu)</span></li>
+    </ol>
+  </li>
+  <li><a id="v9.3.0.other_changes" href="javascript:toggleList('v9.3.0.other_changes')">Other Changes</a>&nbsp;&nbsp;&nbsp;(12)
+    <ol id="v9.3.0.other_changes.list">
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16704">SOLR-16704</a>: Add simple search benchmark to benchmark module
+<br /><span class="attrib">(Tomás Fernández Löbbe)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16709">SOLR-16709</a>: Update Solr's internal use of Solr Client Builders to use TimeUnit parameter for time specific builder methods.
+<br /><span class="attrib">(Eric Pugh)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16713">SOLR-16713</a>: Replace Guava usages with pure Java
+<br /><span class="attrib">(Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16716">SOLR-16716</a>: Replace commons-io usages with pure Java
+<br /><span class="attrib">(Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16715">SOLR-16715</a>: Replace new HashMap(int) and new HashSet(int) with CollectionUtil.newHashMap / CollectionUtil.newHashSet
+<br /><span class="attrib">(Kevin Risden)</span></li>
+      <li><a href="http://issues.apache.org/jira/browse/SOLR-16507">SOLR-16507</a>: Change SplitShardCmd to not use NodeStateProvider
+<br /><span class="attrib">(Vinayak Hegde, David Smiley)</span></li>

[... 22820 lines stripped ...]