Fixed a bug in FIND_IN_SET() when the first argument was NULL.
Added table locks to Berkeley DB.
Fixed a bug with LEFT JOIN and ORDER BY where the first table had only one matching row.
Added 4 sample my.cnf example files in the support-files directory.
Fixed duplicated key problem when doing big GROUP BY operations. (This bug was probably introduced in 3.23.15.)
Changed syntax for INNER JOIN to match SQL-99.
Added NATURAL JOIN syntax.
A lot of fixes in the BDB interface.
Added handling of --no-defaults and --defaults-file to safe_mysqld.sh and mysql_install_db.sh.
Fixed bug in reading compressed tables with many threads.
Fixed that USE INDEX works with PRIMARY keys.
Added BEGIN statement to start a transaction in AUTOCOMMIT mode.
Added support for symbolic links for Windows.
Changed protocol to let client know if the server is in AUTOCOMMIT mode and if there is a pending transaction. If there is a pending transaction, the client library will give an error before reconnecting to the server to let the client know that the server did a rollback. The protocol is still backward-compatible with old clients.
KILL now works on a thread that is locked on a 'write' to a dead client.
Fixed memory leak in the replication slave thread.
Added new log-slave-updates option to mysqld, to allow daisy-chaining the slaves.
Fixed compile error on FreeBSD and other systems where pthread_t is not the same as int.
Fixed master shutdown aborting the slave thread.
Fixed a race condition in INSERT DELAYED code when doing ALTER TABLE.
Added deadlock detection sanity checks to INSERT DELAYED.