Functionality added or changed:
Important Change:
If you upgrade to MySQL 4.1.1 or higher, it is difficult to
downgrade back to 4.0 or 4.1.0! That is because, for earlier
versions, InnoDB is not aware of multiple
tablespaces.
Added TIMESTAMPADD() and
TIMESTAMPDIFF() functions.
The KILL statement now takes
CONNECTION and QUERY
modifiers. The first is the same as KILL with
no modifier (it kills a given connection thread). The second
kills only the statement currently being executed by the
connection.
Added support for SUM(DISTINCT),
MIN(DISTINCT), and
MAX(DISTINCT).
Basic support for stored procedures (SQL:2003 style). See Chapter 19, Stored Procedures and Functions.
The output of the SHOW BINLOG EVENTS
statement has been modified. The Orig_log_pos
column has been renamed to End_log_pos and
now represents the offset of the last byte of the event, plus
one.
Implemented Index Merge optimization for OR
clauses. See Section 7.2.6, “Index Merge Optimization”.
Easier replication upgrade (5.0.0 masters can read older binary logs and 5.0.0 slaves can read older relay logs). See Section 16.3.2, “Replication Compatibility Between MySQL Versions”, for more details). The format of the binary log and relay log is changed compared to that of MySQL 4.1 and older.
For user-defined functions (UDFs), the
UDF_ARGS structure now has
attributes and
attribute_lengths members that provide
information about the argument names.
Section 27.2.4.3, “UDF Argument Processing”.
Added WEEK and QUARTER
values as INTERVAL arguments for the
DATE_ADD() and
DATE_SUB() functions.
The precedence of the XOR operator now lies
between OR and AND.
Previously, XOR had the same precedence as
OR.
Added SELECT INTO
, which can be
of mixed (that is, global and local) types. See
Section 19.2.7.3, “list_of_varsSELECT ... INTO Statement”.
New binary log format that enables replication of these session
variables: sql_mode,
SQL_AUTO_IS_NULL,
FOREIGN_KEY_CHECKS (which was replicated
since 4.0.14, but here it's done more efficiently and takes less
space in the binary logs), UNIQUE_CHECKS.
Other variables (like character sets,
SQL_SELECT_LIMIT, ...) will be replicated in
upcoming 5.0.x releases.
LOAD DATA INFILE causes an implicit commit.
The behavior of LOAD DATA INFILE in this
regard was changed again in MySQL 5.0.26. See
Section E.1.2, “Changes in MySQL 5.0.26 (03 October 2006)”.

User Comments
If you see the documentation the CONNECT BY PRIOR Feature is "Planned for the Near Future"
after the 5.0 and 5.1 version....
Arrgggh. :-(
Subselects (thankfully on the way) and CONNECT BY...PRIOR are the two biggest missing features in MySQL, period, in my opinion.
(Thanks for all the work, dev-guys--just voicing a pretty universal opinion)
Add your own comment.