1.6.1 Features Available From MySQL 4.1
The features below are already implemented in MySQL 4.1. Very few other features are still planned for MySQL 4.1. See section 1.9.1 New Features Planned For 4.1. Most new features being coded right now, such as Stored Procedures, will be available in MySQL 5.0. See section 1.9.2 New Features Planned For 5.0. Support for subqueries and derived tables 
Long-awaited by our users, subqueries are now supported: 
SELECT * FROM t1 WHERE t1.a=(SELECT t2.b FROM t2);SELECT * FROM t1 WHERE (1,2,3) IN (SELECT a,b,c FROM t2);
In additon to subqueries, derived tables (unnamed views) are now also supported. A derived table is basically a subquery in the FROM part of a SELECT statement: 
SELECT t1.a FROM t1, (SELECT * FROM t2) t3 WHERE t1.a=t3.a;
Speed enhancements 
Faster binary protocol with prepared statements and parameter binding. 
BTREE indexing is now supported for HEAP tables, significantly improving response time for non-exact searches. 
New functionality 
CREATE TABLE table LIKE table allows you to create a new table with the exact structure of an existing table, using one single command. 
Support for OpenGIS (Geographical data). 
Standards compliance, portability and migration 
The new client-server protocol adds the ability to pass multiple warnings to the client, rather than only a single result. This makes for instance bulk loading of data much easier to track. SHOW WARNINGS shows warnings for the last command. See section 4.5.6.9 SHOW WARNINGS | ERRORS. 
Internationalisation 
To support our ever expanding user base using local languages in applications, the MySQL software now offers extensive Unicode (UTF8) support. 
Character sets can now be defined per column, table and database. This allows for a high degree of flexibility in application design, particularly for multi-language websites. 
Usability enhancements 
In response to popular demand, we have added a server based HELP command that can be used in the mysql command line client (and other clients) to get help for SQL commands. Having this information on the server side has the advantage that any information will always be applicable for that particular server version. 
In the new client-server protocol, multi-line queries can now be enabled. This allows you to issue several queries in a single call and then read all the results in one go. 
We have implemented a nifty INSERT ... ON DUPLICATE KEY UPDATE ... syntax. This allows you to UPDATE an existing row if the INSERT would have caused a duplicate in a PRIMARY or UNIQUE key (index). See section 6.4.3 INSERT Syntax. 
The new client/server protocol supports multiple result sets. 
The news section in the manual includes a more in-depth list of features. See section D.2 Changes in release 4.1.x (Alpha).