Fixed a bug, that allowed to crash mysqld with a specially crafted packet.
Fixed a rare crash (double free'd pointer) when altering a temporary table.
Fixed buffer overrun in libmysqlclient library that allowed malicious MySQL server to crash the client application.
Fixed security-related bug in mysql_change_user() handling. All users are strongly recommended to upgrade to the version 3.23.54.
Fixed bug that prevented --chroot command-line option of mysqld from working.
Fixed bug that made OPTIMIZE TABLE to corrupt the table under some rare circumstances.
Fixed mysqlcheck so it can deal with table names containing dashes.
Fixed shutdown problem on Mac OS X.
Fixed bug with comparing an indexed NULL field with <=> NULL.
Fixed bug that caused IGNORE INDEX and USE INDEX sometimes to be ignored.
Fixed rare core dump problem in complicated GROUP BY queries that didn't return any result.
Fixed a bug where MATCH ... AGAINST () >=0 was treated as if it was >.
Fixed core dump in SHOW PROCESSLIST when running with an active slave (unlikely timing bug).
Make it possible to use multiple MySQL servers on Windows (code backported from 4.0.2).
One can create TEMPORARY MERGE tables now.
Fixed that --core-file works on Linux (at least on kernel 2.4.18).
Fixed a problem with BDB and ALTER TABLE.
Fixed reference to freed memory when doing complicated GROUP BY ... ORDER BY queries. Symptom was that mysqld died in function send_fields.
Allocate heap rows in smaller blocks to get better memory usage.
Fixed memory allocation bug when storing BLOB values in internal temporary tables used for some (unlikely) GROUP BY queries.
Fixed a bug in key optimizing handling where the expression WHERE column_name = key_column_name was calculated as true for NULL values.
Fixed core dump bug when doing LEFT JOIN ... WHERE key_column=NULL.
Fixed MyISAM crash when using dynamic-row tables with huge numbers of packed fields.
Updated source tree to be built using automake 1.5 and libtool 1.4.