You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by an...@apache.org on 2024/10/08 21:29:31 UTC

svn commit: r72207 [2/11] - in /dev/zookeeper/zookeeper-3.9.3-candidate-1: ./ website/ website/images/ website/skin/

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/releasenotes.html
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/releasenotes.html (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/releasenotes.html Tue Oct  8 21:29:31 2024
@@ -0,0 +1,361 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+    <META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>ZooKeeper: Because Coordinating Distributed Systems is a Zoo</title>
+    <link type="text/css" href="skin/basic.css" rel="stylesheet">
+    <link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
+    <link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
+    <link type="text/css" href="skin/profile.css" rel="stylesheet">
+    <script src="skin/getBlank.js" language="javascript" type="text/javascript"></script>
+    <script src="skin/getMenu.js" language="javascript" type="text/javascript"></script>
+    <script src="skin/init.js" language="javascript" type="text/javascript"></script>
+    <link rel="shortcut icon" href="images/favicon.ico">
+</head>
+<body onload="init();">
+<div id="top">
+    <div class="breadtrail">
+        <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://zookeeper.apache.org/">ZooKeeper</a>
+    </div>
+    <div class="header">
+        <div class="projectlogo">
+            <a href="http://zookeeper.apache.org/"><img class="logoImage" alt="ZooKeeper" src="images/zookeeper_small.gif" title="ZooKeeper: distributed coordination"></a>
+        </div>
+        <div class="searchbox">
+            <form action="http://www.google.com/search" method="get">
+                <input value="zookeeper.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp;
+                <input name="Search" value="Search" type="submit">
+            </form>
+        </div>
+        <ul id="tabs">
+            <li>
+                <a class="unselected" href="http://zookeeper.apache.org/">Project</a>
+            </li>
+            <li>
+                <a class="unselected" href="https://cwiki.apache.org/confluence/display/ZOOKEEPER/">Wiki</a>
+            </li>
+            <li class="current">
+                <a class="selected" href="index.html">ZooKeeper 3.9 Documentation</a>
+            </li>
+        </ul>
+    </div>
+</div>
+<div id="main">
+    <div id="publishedStrip">
+        <div id="level2tabs"></div>
+        <script type="text/javascript"><!--
+document.write("Last Published: " + document.lastModified);
+//  --></script>
+    </div>
+    <div class="breadtrail">
+        &nbsp;
+    </div>
+    <div id="menu">
+        <div onclick="SwitchMenu('menu_1', 'skin/')" id="menu_1Title" class="menutitle">Overview</div>
+        <div id="menu_1" class="menuitemgroup">
+            <div class="menuitem">
+                <a href="index.html">Welcome</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperOver.html">Overview</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperStarted.html">Getting Started</a>
+            </div>
+            <div class="menuitem">
+                <a href="releasenotes.html">Release Notes</a>
+            </div>
+        </div>
+        <div onclick="SwitchMenu('menu_2', 'skin/')" id="menu_2Title" class="menutitle">Developer</div>
+        <div id="menu_2" class="menuitemgroup">
+            <div class="menuitem">
+                <a href="apidocs/zookeeper-server/index.html">API Docs</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperProgrammers.html">Programmer's Guide</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperUseCases.html">Use Cases</a>
+            </div>
+            <div class="menuitem">
+                <a href="javaExample.html">Java Example</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperTutorial.html">Barrier and Queue Tutorial</a>
+            </div>
+            <div class="menuitem">
+                <a href="recipes.html">Recipes</a>
+            </div>
+        </div>
+        <div onclick="SwitchMenu('menu_3', 'skin/')" id="menu_3Title" class="menutitle">Admin &amp; Ops</div>
+        <div id="menu_3" class="menuitemgroup">
+            <div class="menuitem">
+                <a href="zookeeperAdmin.html">Administrator's Guide</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperQuotas.html">Quota Guide</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperSnapshotAndRestore.html">Snapshot and Restore Guide</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperJMX.html">JMX</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperHierarchicalQuorums.html">Hierarchical Quorums</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperOracleQuorums.html">Oracle Quorum</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperObservers.html">Observers Guide</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperReconfig.html">Dynamic Reconfiguration</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperCLI.html">ZooKeeper CLI</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperTools.html">ZooKeeper Tools</a>
+            </div>
+            <div class="menuitem">
+                <a href="zookeeperMonitor.html">ZooKeeper Monitor</a>
+            </div>
+			<div class="menuitem">
+                <a href="zookeeperAuditLogs.html">Audit Logs</a>
+            </div>
+        </div>
+        <div onclick="SwitchMenu('menu_4', 'skin/')" id="menu_4Title" class="menutitle">Contributor</div>
+        <div id="menu_4" class="menuitemgroup">
+            <div class="menuitem">
+                <a href="zookeeperInternals.html">ZooKeeper Internals</a>
+            </div>
+        </div>
+        <div onclick="SwitchMenu('menu_5', 'skin/')" id="menu_5Title" class="menutitle">Miscellaneous</div>
+        <div id="menu_5" class="menuitemgroup">
+            <div class="menuitem">
+                <a href="https://cwiki.apache.org/confluence/display/ZOOKEEPER">Wiki</a>
+            </div>
+            <div class="menuitem">
+                <a href="https://cwiki.apache.org/confluence/display/ZOOKEEPER/FAQ">FAQ</a>
+            </div>
+            <div class="menuitem">
+                <a href="http://zookeeper.apache.org/mailing_lists.html">Mailing Lists</a>
+            </div>
+        </div>
+    </div>
+    <div id="content">
+<!--
+Copyright 2002-2023 The Apache Software Foundation
+
+Licensed 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.
+//-->
+<h1>Release Notes - ZooKeeper - Version 3.9.3</h1>
+<h2>Bug</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-2332">ZOOKEEPER-2332</a> - Zookeeper failed to start for empty txn log</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-2623">ZOOKEEPER-2623</a> - CheckVersion outside of Multi causes NullPointerException</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4293">ZOOKEEPER-4293</a> - Lock Contention in ClientCnxnSocketNetty (possible deadlock)</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4394">ZOOKEEPER-4394</a> - Learner.syncWithLeader got NullPointerException</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4409">ZOOKEEPER-4409</a> - NullPointerException in SendAckRequestProcessor</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4508">ZOOKEEPER-4508</a> - ZooKeeper client run to endless loop in ClientCnxn.SendThread.run if all server down</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4712">ZOOKEEPER-4712</a> - Follower.shutdown() and Observer.shutdown() do not correctly shutdown the syncProcessor, which may lead to data inconsistency</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4733">ZOOKEEPER-4733</a> - non-return function error and asan error in CPPUNIT TESTs</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4752">ZOOKEEPER-4752</a> - Remove version files  in zookeeper-server/src/main from .gitignore</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4804">ZOOKEEPER-4804</a> - Use daemon threads for Netty client</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4814">ZOOKEEPER-4814</a> - Protocol desynchronization after Connect for (some) old clients</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4839">ZOOKEEPER-4839</a> - When DigestMD5 is used to enable mandatory client authentication,Users that do not exist can log in</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4843">ZOOKEEPER-4843</a> - Encountering an 'Unreasonable Length' error when configuring jute.maxbuffer to 1GB or more</li>
+</ul>
+<h2>New Feature</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4747">ZOOKEEPER-4747</a> - Java api lacks synchronous version of sync() call</li>
+</ul>
+<h2>Improvement</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4850">ZOOKEEPER-4850</a> - Enhance zkCli Tool to Support Reading and Writing Binary Data</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4851">ZOOKEEPER-4851</a> - Honor X-Forwarded-For optionally in IPAuthenticationProvider</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4860">ZOOKEEPER-4860</a> - Disable X-Forwarded-For in IPAuthenticationProvider by default</li>
+</ul>
+<h2>Test</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4859">ZOOKEEPER-4859</a> - C client tests hang to be cancelled quite often</li>
+</ul>
+<h2>Task</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4820">ZOOKEEPER-4820</a> - zookeeper pom leaks logback dependency</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4868">ZOOKEEPER-4868</a> - Bump commons-io library to 2.14.0</li>
+</ul>
+<p> </p>
+<h1>Release Notes - ZooKeeper - Version 3.9.2</h1>
+<h2>Sub-task</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-910">ZOOKEEPER-910</a> - Use SelectionKey.isXYZ() methods instead of complicated binary logic</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4728">ZOOKEEPER-4728</a> - Zookeepr cannot bind to itself forever if DNS is not ready when startup</li>
+</ul>
+<h2>Bug</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-2590">ZOOKEEPER-2590</a> - exists() should check read ACL permission</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4236">ZOOKEEPER-4236</a> - Java Client SendThread create many unnecessary Login objects</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4415">ZOOKEEPER-4415</a> - Zookeeper 3.7.0 : The client supported protocol versions [TLSv1.3] are not accepted by server preferences</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4730">ZOOKEEPER-4730</a> - Incorrect datadir and logdir size reported from admin and 4lw dirs command</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4785">ZOOKEEPER-4785</a> - Txn loss due to race condition in Learner.syncWithLeader() during DIFF sync</li>
+</ul>
+<h2>Improvement</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3486">ZOOKEEPER-3486</a> - add the doc about how to configure SSL/TLS for the admin server</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4756">ZOOKEEPER-4756</a> - Merge script should use GitHub api to merge pull requests</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4778">ZOOKEEPER-4778</a> - Patch jetty, netty, and logback to remove high severity vulnerabilities</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4794">ZOOKEEPER-4794</a> - Reduce the ZKDatabase#committedLog memory usage</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4801">ZOOKEEPER-4801</a> - Add memory size limitation policy for ZkDataBase#committedLog</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4799">ZOOKEEPER-4799</a> - Refactor ACL check in addWatch command</li>
+</ul>
+<h2>Wish</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4807">ZOOKEEPER-4807</a> - Add sid for the leader goodbyte log</li>
+</ul>
+<p> </p>
+<h1>Release Notes - ZooKeeper - Version 3.9.1</h1>
+<h2>Improvement</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4732">ZOOKEEPER-4732</a> - improve Reproducible Builds</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4753">ZOOKEEPER-4753</a> - Explicit handling of DIGEST-MD5 vs GSSAPI in quorum auth</li>
+</ul>
+<h2>Task</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4751">ZOOKEEPER-4751</a> - Update snappy-java to 1.1.10.5 to address CVE-2023-43642</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4754">ZOOKEEPER-4754</a> - Update Jetty to avoid CVE-2023-36479, CVE-2023-40167, and CVE-2023-41900</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4755">ZOOKEEPER-4755</a> - Handle Netty CVE-2023-4586</li>
+</ul>
+<p> </p>
+<h1>Release Notes - ZooKeeper - Version 3.9.0</h1>
+<h2>Sub-task</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4327">ZOOKEEPER-4327</a> - Flaky test: RequestThrottlerTest</li>
+</ul>
+<h2>Bug</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-2108">ZOOKEEPER-2108</a> - Compilation error in ZkAdaptor.cc with GCC 4.7 or later</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3652">ZOOKEEPER-3652</a> - Improper synchronization in ClientCnxn</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3908">ZOOKEEPER-3908</a> - zktreeutil multiple issues</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3996">ZOOKEEPER-3996</a> - Flaky test: ReadOnlyModeTest.testConnectionEvents</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4026">ZOOKEEPER-4026</a> - CREATE2 requests embeded in a MULTI request only get a regular CREATE response</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4296">ZOOKEEPER-4296</a> - NullPointerException when ClientCnxnSocketNetty is closed without being opened</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4308">ZOOKEEPER-4308</a> - Flaky test: EagerACLFilterTest.testSetDataFail</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4393">ZOOKEEPER-4393</a> - Problem to connect to zookeeper in FIPS mode</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4466">ZOOKEEPER-4466</a> - Support different watch modes on same path</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4471">ZOOKEEPER-4471</a> - Remove WatcherType.Children break persistent watcher's child events</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4473">ZOOKEEPER-4473</a> - zooInspector create root node fail with path validate</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4475">ZOOKEEPER-4475</a> - Persistent recursive watcher got NodeChildrenChanged event</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4477">ZOOKEEPER-4477</a> - Single Kerberos ticket renewal failure can prevent all future renewals since Java 9</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4504">ZOOKEEPER-4504</a> - ZKUtil#deleteRecursive causing deadlock in HDFS HA functionality</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4505">ZOOKEEPER-4505</a> - CVE-2020-36518 - Upgrade jackson databind to 2.13.2.1</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4511">ZOOKEEPER-4511</a> - Flaky test: FileTxnSnapLogMetricsTest.testFileTxnSnapLogMetrics</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4514">ZOOKEEPER-4514</a> - ClientCnxnSocketNetty throwing NPE</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4515">ZOOKEEPER-4515</a> - ZK Cli quit command always logs error</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4537">ZOOKEEPER-4537</a> - Race between SyncThread and CommitProcessor thread</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4549">ZOOKEEPER-4549</a> - ProviderRegistry may be repeatedly initialized</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4565">ZOOKEEPER-4565</a> - Config watch path get truncated abnormally and fail chroot zookeeper client</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4647">ZOOKEEPER-4647</a> - Tests don't pass on JDK20 because we try to mock InetAddress</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4654">ZOOKEEPER-4654</a> - Fix C client test compilation error in Util.cc.</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4674">ZOOKEEPER-4674</a> - C client tests don't pass on CI</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4719">ZOOKEEPER-4719</a> - Use bouncycastle jdk18on instead of jdk15on</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4721">ZOOKEEPER-4721</a> - Upgrade OWASP Dependency Check to 8.3.1</li>
+</ul>
+<h2>New Feature</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4570">ZOOKEEPER-4570</a> - Admin server API for taking snapshot and stream out the data</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4655">ZOOKEEPER-4655</a> - Communicate the Zxid that triggered a WatchEvent to fire</li>
+</ul>
+<h2>Improvement</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3731">ZOOKEEPER-3731</a> - Disable HTTP TRACE Method</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3806">ZOOKEEPER-3806</a> - TLS - dynamic loading for client trust/key store</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3860">ZOOKEEPER-3860</a> - Avoid reverse DNS lookup for hostname verification when hostnames are provided in the connection url</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4289">ZOOKEEPER-4289</a> - Reduce the performance impact of Prometheus metrics</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4303">ZOOKEEPER-4303</a> - ZooKeeperServerEmbedded could auto-assign and expose ports</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4464">ZOOKEEPER-4464</a> - zooinspector display &quot;Ephemeral Owner&quot; in hex for easy match to jmx session</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4467">ZOOKEEPER-4467</a> - Missing op code (addWatch) in Request.op2String</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4472">ZOOKEEPER-4472</a> - Support persistent watchers removing individually</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4474">ZOOKEEPER-4474</a> - ZooDefs.opNames is unused</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4490">ZOOKEEPER-4490</a> - Publish Clover results to SonarQube</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4491">ZOOKEEPER-4491</a> - Adding SSL support to Zktreeutil</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4492">ZOOKEEPER-4492</a> - Merge readOnly field into ConnectRequest and Response</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4494">ZOOKEEPER-4494</a> - Fix error message format</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4518">ZOOKEEPER-4518</a> - remove useless log in the PrepRequestProcessor#pRequest method</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4519">ZOOKEEPER-4519</a> - Testable interface should have a testableCloseSocket() method</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4529">ZOOKEEPER-4529</a> - Upgrade netty to 4.1.76.Final</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4531">ZOOKEEPER-4531</a> - Revert Netty TCNative change</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4551">ZOOKEEPER-4551</a> - Do not log spammy stacktrace when a client closes its connection</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4566">ZOOKEEPER-4566</a> - Create tool for recursive snapshot analysis</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4573">ZOOKEEPER-4573</a> - Encapsulate request bytebuffer in Request</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4575">ZOOKEEPER-4575</a> - ZooKeeperServer#processPacket take record instead of bytes</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4616">ZOOKEEPER-4616</a> - Upgrade docker image for the dev enviroment to resolve CVEs</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4622">ZOOKEEPER-4622</a> - Add Netty-TcNative OpenSSL Support</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4636">ZOOKEEPER-4636</a> - Fix zkServer.sh for AIX</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4657">ZOOKEEPER-4657</a> - Publish SBOM artifacts</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4659">ZOOKEEPER-4659</a> - Upgrade Commons CLI to 1.5.0 due to OWASP failing on 1.4 CVE-2021-37533</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4660">ZOOKEEPER-4660</a> - Suppress false positive OWASP failure for CVE-2021-37533</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4661">ZOOKEEPER-4661</a> - Upgrade Jackson Databind to 2.13.4.2 for CVE-2022-42003 CVE-2022-42004</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4705">ZOOKEEPER-4705</a> - Restrict GitHub merge button to allow squash commit only</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4717">ZOOKEEPER-4717</a> - Cache serialize data in the request to avoid repeat serialize.</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4718">ZOOKEEPER-4718</a> - Removing unnecessary heap memory allocation in serialization can help reduce GC pressure.</li>
+</ul>
+<h2>Test</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4630">ZOOKEEPER-4630</a> - Fix the NPE from ConnectionMetricsTest.testRevalidateCount</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4676">ZOOKEEPER-4676</a> - ReadOnlyModeTest doesn't not compile on JDK20 (Thread.suspend has been removed)</li>
+</ul>
+<h2>Wish</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-3615">ZOOKEEPER-3615</a> - write a TLA+ specification to verify Zab protocol</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4710">ZOOKEEPER-4710</a> - Fix ZkUtil deleteInBatch() by releasing semaphore after set flag</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4714">ZOOKEEPER-4714</a> - Improve syncRequestProcessor performance</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4715">ZOOKEEPER-4715</a> - Verify file size and position in testGetCurrentLogSize.</li>
+</ul>
+<h2>Task</h2>
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4479">ZOOKEEPER-4479</a> - Tests: C client test TestOperations.cc testTimeoutCausedByWatches1 is very flaky on CI</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4482">ZOOKEEPER-4482</a> - Fix LICENSE FILES for commons-io and commons-cli</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4599">ZOOKEEPER-4599</a> - Upgrade Jetty to avoid CVE-2022-2048</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4641">ZOOKEEPER-4641</a> - GH CI fails with error: implicit declaration of function FIPS_mode</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4642">ZOOKEEPER-4642</a> - Remove Travis CI</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4649">ZOOKEEPER-4649</a> - Upgrade netty to 4.1.86 because of CVE-2022-41915</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4669">ZOOKEEPER-4669</a> - Upgrade snappy-java to 1.1.9.1 (in order to support M1 macs)</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4688">ZOOKEEPER-4688</a> - Upgrade <code>cyclonedx-maven-plugin</code> to 2.7.6</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4700">ZOOKEEPER-4700</a> - Update Jetty for fixing CVE-2023-26048 and CVE-2023-26049</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4707">ZOOKEEPER-4707</a> - Update snappy-java to address multiple CVEs</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4709">ZOOKEEPER-4709</a> - Upgrade Netty to 4.1.94.Final</li>
+<li><a href="https://issues.apache.org/jira/browse/ZOOKEEPER-4716">ZOOKEEPER-4716</a> - Upgrade jackson to 2.15.2, suppress two false positive CVE errors</li>
+</ul>
+<p> </p>
+</div>
+<div class="clearboth">&nbsp;</div>
+</div>
+<div id="footer">
+    <div class="lastmodified">
+        <script type="text/javascript">
+        <!--
+            document.write("Last Published: " + document.lastModified);
+        //  -->
+        </script>
+    </div>
+    <div class="copyright">
+        Copyright &copy; <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
+    </div>
+    <div id="logos"></div>
+</div>
+</body>
+</html>
\ No newline at end of file

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/basic.css
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/basic.css (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/basic.css Tue Oct  8 21:29:31 2024
@@ -0,0 +1,167 @@
+/*
+* 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.
+*/
+/**
+ * General
+ */
+
+img { border: 0; }
+
+#content table {
+  border: 0;
+  width: 100%;
+}
+/*Hack to get IE to render the table at 100%*/
+* html #content table { margin-left: -3px; }
+
+#content th,
+#content td {
+  margin: 0;
+  padding: 0;
+  vertical-align: top;
+}
+
+.clearboth {
+  clear: both;
+}
+
+.note, .warning, .fixme {
+  clear:right;
+  border: solid black 1px;
+  margin: 1em 3em;
+}
+
+.note .label {
+  background: #369;
+  color: white;
+  font-weight: bold;
+  padding: 5px 10px;
+}
+.note .content {
+  background: #F0F0FF;
+  color: black;
+  line-height: 120%;
+  font-size: 90%;
+  padding: 5px 10px;
+}
+.warning .label {
+  background: #C00;
+  color: white;
+  font-weight: bold;
+  padding: 5px 10px;
+}
+.warning .content {
+  background: #FFF0F0;
+  color: black;
+  line-height: 120%;
+  font-size: 90%;
+  padding: 5px 10px;
+}
+.fixme .label {
+  background: #C6C600;
+  color: black;
+  font-weight: bold;
+  padding: 5px 10px;
+}
+.fixme .content {
+  padding: 5px 10px;
+}
+
+/**
+ * Typography
+ */
+
+body {
+  font-family: verdana, "Trebuchet MS", arial, helvetica, sans-serif;
+  font-size: 100%;
+}
+
+#content {
+  font-family: Georgia, Palatino, Times, serif;
+  font-size: 95%;
+}
+#tabs {
+  font-size: 70%;
+}
+#menu {
+  font-size: 80%;
+}
+#footer {
+  font-size: 70%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+  font-family: "Trebuchet MS", verdana, arial, helvetica, sans-serif;
+  font-weight: bold;
+  margin-top: 1em;
+  margin-bottom: .5em;
+}
+
+h1 {
+    margin-top: 0;
+    margin-bottom: 1em;
+  font-size: 1.4em;
+}
+#content h1 {
+  font-size: 160%;
+  margin-bottom: .5em;
+}
+#menu h1 {
+  margin: 0;
+  padding: 10px;
+  background: #336699;
+  color: white;
+}
+h2 { font-size: 120%; }
+h3 { font-size: 100%; }
+h4 { font-size: 90%; }
+h5 { font-size: 80%; }
+h6 { font-size: 75%; }
+
+p {
+  line-height: 120%;
+  text-align: left;
+  margin-top: .5em;
+  margin-bottom: 1em;
+}
+
+#content li,
+#content th,
+#content td,
+#content li ul,
+#content li ol{
+  margin-top: .5em;
+  margin-bottom: .5em;
+}
+
+
+#content li li,
+#minitoc-area li{
+  margin-top: 0em;
+  margin-bottom: 0em;
+}
+
+#content .attribution {
+  text-align: right;
+  font-style: italic;
+  font-size: 85%;
+  margin-top: 1em;
+}
+
+.codefrag {
+  font-family: "Courier New", Courier, monospace;
+  font-size: 110%;
+}
\ No newline at end of file

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/chapter.gif
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/chapter.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/chapter_open.gif
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/chapter_open.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/current.gif
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/current.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/getBlank.js
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/getBlank.js (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/getBlank.js Tue Oct  8 21:29:31 2024
@@ -0,0 +1,40 @@
+/*
+* 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.
+*/
+/**
+ * getBlank script - when included in a html file and called from a form text field, will set the value of this field to ""
+ * if the text value is still the standard value.
+ * getPrompt script - when included in a html file and called from a form text field, will set the value of this field to the prompt
+ * if the text value is empty.
+ *
+ * Typical usage:
+ * <script type="text/javascript" language="JavaScript" src="getBlank.js"></script>
+ * <input type="text" id="query" value="Search the site:" onFocus="getBlank (this, 'Search the site:');" onBlur="getBlank (this, 'Search the site:');"/>
+ */
+<!--
+function getBlank (form, stdValue){
+if (form.value == stdValue){
+	form.value = '';
+	}
+return true;
+}
+function getPrompt (form, stdValue){
+if (form.value == ''){
+	form.value = stdValue;
+	}
+return true;
+}
+//-->

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/getMenu.js
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/getMenu.js (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/getMenu.js Tue Oct  8 21:29:31 2024
@@ -0,0 +1,45 @@
+/*
+* 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.
+*/
+/**
+ * This script, when included in a html file, can be used to make collapsible menus
+ *
+ * Typical usage:
+ * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
+ */
+
+if (document.getElementById){ 
+  document.write('<style type="text/css">.menuitemgroup{display: none;}</style>')
+}
+
+
+function SwitchMenu(obj, thePath)
+{
+var open = 'url("'+thePath + 'chapter_open.gif")';
+var close = 'url("'+thePath + 'chapter.gif")';
+  if(document.getElementById)  {
+    var el = document.getElementById(obj);
+    var title = document.getElementById(obj+'Title');
+
+    if(el.style.display != "block"){ 
+      title.style.backgroundImage = open;
+      el.style.display = "block";
+    }else{
+      title.style.backgroundImage = close;
+      el.style.display = "none";
+    }
+  }// end -  if(document.getElementById) 
+}//end - function SwitchMenu(obj)

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/header_white_line.gif
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/header_white_line.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/init.js
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/init.js (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/init.js Tue Oct  8 21:29:31 2024
@@ -0,0 +1,57 @@
+/*
+* 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.
+*/
+/**
+ * This script, when included in a html file, can be used to make collapsible menus
+ *
+ * Typical usage:
+ * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
+ */
+
+function getFileName(url){
+    var fileName = url.substring(url.lastIndexOf('/')+1);
+    return fileName;
+}
+
+function init(){
+    var url = window .location.pathname;
+    var fileName = getFileName(url);
+
+    var menuItemGroup = document.getElementById("menu").children;
+
+    for (i = 0; i < menuItemGroup.length; i++) {
+        if("menutitle" === menuItemGroup[i].className){
+            continue;
+        }
+        var menuItem = menuItemGroup[i].children;
+        if(menuItem.length>0){
+            for (j = 0; j < menuItem.length; j++) {
+                if(menuItem[j].firstElementChild != null){
+                    var linkItem = menuItem[j].firstElementChild;
+                    if('a' === linkItem.localName){
+                        var linkFile = getFileName(linkItem.href);
+                        if(fileName === linkFile && linkItem.href.lastIndexOf("apidocs/zookeeper-server/index.html")<0){
+                            linkItem.className = "selected";
+                            linkItem.parentNode.parentNode.className = "selectedmenuitemgroup";
+                            var title = document.getElementById(linkItem.parentNode.parentNode.id+"Title");
+                            title.className="menutitle selected";
+                        }
+                    }
+                }
+            }
+        }
+    }
+}

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/instruction_arrow.png
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/instruction_arrow.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/menu.js
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/menu.js (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/menu.js Tue Oct  8 21:29:31 2024
@@ -0,0 +1,48 @@
+/*
+* 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.
+*/
+/**
+ * This script, when included in a html file, can be used to make collapsible menus
+ *
+ * Typical usage:
+ * <script type="text/javascript" language="JavaScript" src="menu.js"></script>
+ */
+
+if (document.getElementById){ 
+  document.write('<style type="text/css">.menuitemgroup{display: none;}</style>')
+}
+
+function SwitchMenu(obj)
+{
+  if(document.getElementById)  {
+    var el = document.getElementById(obj);
+    var title = document.getElementById(obj+'Title');
+
+    if(obj.indexOf("_selected_")==0&&el.style.display == ""){
+      el.style.display = "block";
+      title.className = "pagegroupselected";
+    }
+
+    if(el.style.display != "block"){
+      el.style.display = "block";
+      title.className = "pagegroupopen";
+    }
+    else{
+      el.style.display = "none";
+      title.className = "pagegroup";
+    }
+  }// end -  if(document.getElementById) 
+}//end - function SwitchMenu(obj)

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/page.gif
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/page.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/print.css
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/print.css (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/print.css Tue Oct  8 21:29:31 2024
@@ -0,0 +1,54 @@
+/*
+* 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.
+*/
+body {
+  font-family: Georgia, Palatino, serif;
+  font-size: 12pt;
+  background: white;
+}
+
+#tabs,
+#menu,
+#content .toc {
+  display: none;
+}
+
+#content {
+  width: auto;
+  padding: 0;
+  float: none !important;
+  color: black;
+  background: inherit;
+}
+
+a:link, a:visited {
+  color: #336699;
+  background: inherit;
+  text-decoration: underline;
+}
+
+#top .logo {
+  padding: 0;
+  margin: 0 0 2em 0;
+}
+
+#footer {
+  margin-top: 4em;
+}
+
+acronym {
+  border: 0;
+}
\ No newline at end of file

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/printer.gif
==============================================================================
Binary file - no diff available.

Propchange: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/printer.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/profile.css
==============================================================================
--- dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/profile.css (added)
+++ dev/zookeeper/zookeeper-3.9.3-candidate-1/website/skin/profile.css Tue Oct  8 21:29:31 2024
@@ -0,0 +1,159 @@
+
+
+/* ==================== aural ============================ */
+
+@media aural {
+  h1, h2, h3, h4, h5, h6 { voice-family: paul, male; stress: 20; richness: 90 }
+  h1 { pitch: x-low; pitch-range: 90 }
+  h2 { pitch: x-low; pitch-range: 80 }
+  h3 { pitch: low; pitch-range: 70 }
+  h4 { pitch: medium; pitch-range: 60 }
+  h5 { pitch: medium; pitch-range: 50 }
+  h6 { pitch: medium; pitch-range: 40 }
+  li, dt, dd { pitch: medium; richness: 60 }
+  dt { stress: 80 }
+  pre, code, tt { pitch: medium; pitch-range: 0; stress: 0; richness: 80 }
+  em { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
+  strong { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
+  dfn { pitch: high; pitch-range: 60; stress: 60 }
+  s, strike { richness: 0 }
+  i { pitch: medium; pitch-range: 60; stress: 60; richness: 50 }
+  b { pitch: medium; pitch-range: 60; stress: 90; richness: 90 }
+  u { richness: 0 }
+  
+  :link { voice-family: harry, male }
+  :visited { voice-family: betty, female }
+  :active { voice-family: betty, female; pitch-range: 80; pitch: x-high }
+}
+  
+#top          { background-color: #FFFFFF;}  
+ 
+#top .header .current { background-color: #4C6C8F;} 
+#top .header .current a:link {  color: #ffffff;  }
+#top .header .current a:visited { color: #ffffff; }
+#top .header .current a:hover { color: #ffffff; }
+ 
+#tabs li      { background-color: #E5E4D9 ;} 
+#tabs li a:link {  color: #000000;  }
+#tabs li a:visited { color: #000000; }
+#tabs li a:hover { color: #000000; }
+
+#level2tabs a.selected      { background-color: #4C6C8F ;} 
+#level2tabs a:link {  color: #ffffff;  }
+#level2tabs a:visited { color: #ffffff; }
+#level2tabs a:hover { color: #ffffff; }
+
+#level2tabs { background-color: #E5E4D9;}
+#level2tabs a.unselected:link {  color: #000000;  }
+#level2tabs a.unselected:visited { color: #000000; }
+#level2tabs a.unselected:hover { color: #000000; }
+
+.heading { background-color: #E5E4D9;} 
+
+.boxed { background-color: #E5E4D9;} 
+.underlined_5 	{border-bottom: solid 5px #E5E4D9;}
+.underlined_10 	{border-bottom: solid 10px #E5E4D9;}
+table caption { 
+background-color: #E5E4D9; 
+color: #000000;
+}
+    
+#feedback {
+color: #FFFFFF;
+background: #4C6C8F;
+text-align: center;
+}
+#feedback #feedbackto {
+color: #FFFFFF;
+}   
+
+#publishedStrip { 
+color: #FFFFFF;
+background: #4C6C8F; 
+}
+
+#publishedStrip { 
+color: #000000;
+background: #E5E4D9; 
+}
+
+#menu a.selected  { background-color: #CFDCED;
+  border-color: #999999;
+  color: #000000;}
+#menu a.selected:visited {  color: #000000;}
+
+#menu           { border-color: #999999;}
+#menu .menupageitemgroup  { border-color: #999999;}
+
+#menu      { background-color: #4C6C8F;} 
+#menu  {  color: #ffffff;} 
+#menu a:link {  color: #ffffff;} 
+#menu a:visited {  color: #ffffff;} 
+#menu a:hover {  
+background-color: #4C6C8F;
+color: #ffffff;} 
+
+#menu h1 {
+color: #000000;
+background-color: #cfdced;
+}   
+ 
+#top .searchbox { 
+background-color: #E5E4D9 ;
+color: #000000; 
+} 
+ 
+#menu .menupageitemgroup     { 
+background-color: #E5E4D9;
+}
+#menu .menupageitem {
+color: #000000;
+} 
+#menu .menupageitem a:link {  color: #000000;} 
+#menu .menupageitem a:visited {  color: #000000;} 
+#menu .menupageitem a:hover {  
+background-color: #E5E4D9;
+color: #000000;
+}
+
+body{ 
+background-color: #ffffff;
+color: #000000;
+} 
+a:link { color:#0000ff} 
+a:visited { color:#009999} 
+a:hover { color:#6587ff} 
+
+ 
+.ForrestTable      { background-color: #ccc;} 
+ 
+.ForrestTable td   { background-color: #ffffff;} 
+ 
+.highlight        { background-color: #ffff00;} 
+ 
+.fixme        { border-color: #c60;} 
+ 
+.note         { border-color: #069;} 
+ 
+.warning         { border-color: #900;}
+ 
+#footer       { background-color: #E5E4D9;} 
+/* extra-css */
+    
+    p.quote {
+      margin-left: 2em;
+      padding: .5em;
+      background-color: #f0f0f0;
+      font-family: monospace;
+    }
+
+    pre {
+      margin-left: 0em;
+      padding: 0.5em;
+      background-color: #f0f0f0;
+      font-family: monospace;
+    }
+
+
+
+  
\ No newline at end of file