+Changes in CTDB 2.4
+===================
+
+User-visible changes
+--------------------
+
+* A missing network interface now causes monitoring to fail and the
+ node to become unhealthy.
+
+* Changed ctdb command's default control timeout from 3s to 10s.
+
+* debug-hung-script.sh now includes the output of "ctdb scriptstatus"
+ to provide more information.
+
+Important bug fixes
+-------------------
+
+* Starting CTDB daemon by running ctdbd directly should not remove
+ existing unix socket unconditionally.
+
+* ctdbd once again successfully kills client processes on releasing
+ public IPs. It was checking for them as tracked child processes
+ and not finding them, so wasn't killing them.
+
+* ctdbd_wrapper now exports CTDB_SOCKET so that child processes of
+ ctdbd (such as uses of ctdb in eventscripts) use the correct socket.
+
+* Always use Jenkins hash when creating volatile databases. There
+ were a few places where TDBs would be attached with the wrong flags.
+
+* Vacuuming code fixes in CTDB 2.2 introduced bugs in the new code
+ which led to header corruption for empty records. This resulted
+ in inconsistent headers on two nodes and a request for such a record
+ keeps bouncing between nodes indefinitely and logs "High hopcount"
+ messages in the log. This also caused performance degradation.
+
+* ctdbd was losing log messages at shutdown because they weren't being
+ given time to flush. ctdbd now sleeps for a second during shutdown
+ to allow time to flush log messages.
+
+* Improved socket handling introduced in CTDB 2.2 caused ctdbd to
+ process a large number of packets available on single FD before
+ polling other FDs. Use fixed size queue buffers to allow fair
+ scheduling across multiple FDs.
+
+Important internal changes
+--------------------------
+
+* A node that fails to take/release multiple IPs will only incur a
+ single banning credit. This makes a brief failure less likely to
+ cause node to be banned.
+
+* ctdb killtcp has been changed to read connections from stdin and
+ 10.interface now uses this feature to improve the time taken to kill
+ connections.
+
+* Improvements to hot records statistics in ctdb dbstatistics.
+
+* Recovery daemon now assembles up-to-date node flags information
+ from remote nodes before checking if any flags are inconsistent and
+ forcing a recovery.
+
+* ctdbd no longer creates multiple lock sub-processes for the same
+ key. This reduces the number of lock sub-processes substantially.
+
+* Changed the nfsd RPC check failure policy to failover quickly
+ instead of trying to repair a node first by restarting NFS. Such
+ restarts would often hang if the cause of the RPC check failure was
+ the cluster filesystem or storage.
+
+* Logging improvements relating to high hopcounts and sticky records.
+
+* Make sure lower level tdb messages are logged correctly.
+
+* CTDB commands disable/enable/stop/continue are now resilient to
+ individual control failures and retry in case of failures.
+
+
Changes in CTDB 2.3
===================
See ctdb.sysconfig for details.
+* Removed DeadlockTimeout tunable. To enable debug of locking issues set
+
+ CTDB_DEBUG_LOCKS=/etc/ctdb/debug_locks.sh
+
+* In overall statistics and database statistics, lock buckets have been
+ updated to use following timings:
+
+ < 1ms, < 10ms, < 100ms, < 1s, < 2s, < 4s, < 8s, < 16s, < 32s, < 64s, >= 64s
+
+* Initscript is now simplified with most CTDB-specific functionality
+ split out to ctdbd_wrapper, which is used to start and stop ctdbd.
+
+* Add systemd support.
+
+* CTDB subprocesses are now given informative names to allow them to
+ be easily distinguished when using programs like "top" or "perf".
+
Important bug fixes
-------------------
(e.g. under high load). This simple fix will stop an exit from the
retry loop on any error.
+* When updating flags on all nodes, use the correct updated flags. This
+ should avoid wrong flag change messages in the logs.
+
+* The recovery daemon will not ban other nodes if the current node
+ is banned.
+
+* ctdb dbstatistics command now correctly outputs database statistics.
+
+* Fixed a panic with overlapping shutdowns (regression in 2.2).
+
+* Fixed 60.ganesha "monitor" event (regression in 2.2).
+
+* Fixed a buffer overflow in the "reloadips" implementation.
+
+* Fixed segmentation faults in ping_pong (called with incorrect
+ argument) and test binaries (called when ctdbd not running).
+
Important internal changes
--------------------------
-*
+* The recovery daemon on stopped or banned node will stop participating in any
+ cluster activity.
+
+* Improve cluster wide database traverse by sending the records directly from
+ traverse child process to requesting node.
+
+* TDB checking and dropping of all IPs moved from initscript to "init"
+ event in 00.ctdb.
+
+* To avoid "rogue IPs" the release IP callback now fails if the
+ released IP is still present on an interface.
Changes in CTDB 2.2