Newsletters older than 6 months may have links that are out of date. Please use the Search to check for updated links.
MySQL 4.0.13, a new version of the popular Open Source Database, has been released. It is now available in source and binary form for a number of platforms from our download pages at http://www.mysql.com/downloads/ (http://www.mysql.com/downloads/) and mirror sites. Note that not all mirror sites may not be up to date at this point in time - if you can't find this version on some mirror, please try again later or choose another download site. This is a bugfix release for the current production version. Please refer to our bug database at http://bugs.mysql.com/ for more details about the individual bugs fixed in this version.
Changes in release 4.0.13:
Functionality added or changed:
- The windows binary packages are now compiled with `--enable-local-infile' to match the Unix build configuration.
- Removed timing of tests from `mysql-test-run'. `time' does not accept all required parameters on many platforms (e.g. QNX) and timing the tests is not really required (it's not a benchmark anyway).
- `SHOW MASTER STATUS' and `SHOW SLAVE STATUS' required the `SUPER' privilege; now they accept `REPLICATION CLIENT' as well. (Bug #343)
- Added multi-threaded MyISAM repair optimisation and `myisam_repair_threads' variable to enable it. *Note `myisam_repair_threads': SHOW VARIABLES.
- Added `innodb_max_dirty_pages_pct' variable which controls amount of dirty pages allowed in InnoDB buffer pool.
- Logged `Access denied' error message had wrong `Using password' value. (Bug #398)
- `CURRENT_USER()' and "access denied" error messages now report hostname exactly as it was specified in the `GRANT' command.
- Removed benchmark results from the source and binary distributions. They are still available in the BK source tree, though.
- InnoDB tables now support `ANALYZE TABLE'.
- MySQL now issues a warning when it opens a table that was created with MySQL 4.1.
- `mysql' command line client no longer looks for `\*' commands inside backtick-quoted strings.
- Option `--new' now changes binary items (`0xFFDF') to be treated as binary strings instead of numbers by default. This fixes some problems with character sets where it's convenient to input the string as a binary item. After this change you have to convert the binary string to `INTEGER' with a `CAST' if you want to compare two binary items with each other and know which one is bigger than the other. `SELECT CAST(0xfeff AS UNSIGNED) < CAST(0xff AS UNSIGNED)'. This will be the default behaviour in MySQL 4.1. (Bug #152)
- Fixed bug with `NATURAL LEFT JOIN', `NATURAL RIGHT JOIN' and `RIGHT JOIN' when using many joined tables. The problem was that the `JOIN' method was not always associated with the tables surrounding the `JOIN' method. If you have a query that uses many `RIGHT JOIN' or `NATURAL ... JOINS' you should check that they work as you expected after upgrading MySQL to this version. (Bug #291)
- Enabled `delayed_insert_timeout' on Linux (most modern glibc libraries have a fixed `pthread_cond_timedwait'). (Bug #211)
- Don't create more insert delayed threads than given by `max_insert_delayed_threads'. (Bug #211)
- Fixed that `SET SQL_BIG_SELECTS=1' works as documented (New bug in 4.0)
- Changed `UPDATE ... LIMIT' to also count accepted, but not changed rows.
- Tuned optimizer to favour clustered index over table scan.
- `BIT_AND()' and `BIT_OR()' now return an unsigned 64 bit value.
- Added warnings to error log of why a secure connection failed (when running with `--log-warnings').
- Deprecated options `--skip-symlink' and `--use-symbolic-links' and replaced these with `--symbolic-links'.
- The default option for `innodb_flush_log_at_trx_commit' was changed from 0 to 1 to make InnoDB tables ACID by default. *Note InnoDB start::.
- Added a feature to `SHOW KEYS' to display keys that are disabled by `ALTER TABLE DISABLE KEYS' command.
- When using a non-existing table type with `CREATE TABLE', first try if the default table type exists before falling back to `MyISAM'.
- Added `MEMORY' as an alias for `HEAP' table handler.
- Renamed function `rnd' to `my_rnd' as the name was too generic and is an exported symbol in `libmysqlclient' (thanks to Dennis Haney for the initial patch).
- Portability fix: renamed `include/dbug.h' to `include/my_debug.h'.
- `mysqldump' no longer silently deletes the binlogs when called with `--master-data' or `--first-slave'; while this behaviour was convenient for some users, others may suffer from it. Now one has to explicitely ask for this deletion with the new `--delete-master-logs' option.
- If the slave is configured (using for example `replicate-wild-ignore-table=mysql.%') to exclude `mysql.user', `mysql.host', `mysql.db', `mysql.tables_priv' and `mysql.columns_priv' from replication, then `GRANT' and `REVOKE' will not be replicated.
Additional notes:
- We now additionally offer binaries for the following platforms:
* Sun Solaris 8 (64bit binary, compiled with gcc)
* Linux/AMD64 (aka "AMD Opteron")
* QNX Neutrino 6.2.1 (x86)
- Due to hardware problems, we currently cannot offer binaries for HP-UX 10.20 and Sun Solaris 2.7 - we apologize for any inconveniences this may cause you.