Added LIMIT clause for the DELETE statement.
You can now use the /*! ... */ syntax to hide MySQL-specific keywords when you write portable code. MySQL will parse the code inside the comments as if the surrounding /*! and */ comment characters didn't exist.
OPTIMIZE TABLE tbl_name can now be used to reclaim disk space after many deletes. Currently, this uses ALTER TABLE to regenerate the table, but in the future it will use an integrated isamchk for more speed.
Upgraded libtool to get the configure more portable.
Fixed slow UPDATE and DELETE operations when using DATETIME or DATE keys.
Changed optimizer to make it better at deciding when to do a full join and when using keys.
You can now use mysqladmin proc to display information about your own threads. Only users with the PROCESS privilege can get information about all threads. (In 4.0.2 one needs the SUPER privilege for this.)
Added handling of formats YYMMDD, YYYYMMDD, YYMMDDHHMMSS for numbers when using DATETIME and TIMESTAMP types. (Formerly these formats only worked with strings.)
Added connect option CLIENT_IGNORE_SPACE to allow use of spaces after function names and before ( (Powerbuilder requires this). This will make all function names reserved words.
Added the --log-long-format option to mysqld to enable timestamps and INSERT_IDs in the update log.
Added --where option to mysqldump (patch by Jim Faucette).
The lexical analyzer now uses ``perfect hashing'' for faster parsing of SQL statements.