The current version of K2 is 0.5 alpha. Here's a list of the things we're currently doing or plan to do for upcoming releases, in no particular order:
Integrate access to password-protected data sources.
Administrators can view information about the server, bring the server to a state where it's safe to stop, and force client connections to close. Future requirements include the ability to:
Improve the cost model portion of the optimizer. In particular:
Allow driver-exported data source entry points to have more than one type.
Investigate the possibility of blending the optimization and execution phases. For example, when it is possible to determine that a portion of the query is optimal, but the best plan for the query as a whole is uncertain, what if we execute the portion we're sure of and then reconsider the rest? The new certainty about the result of the subquery may enable us to decide among the query plans for the remainder of the query.
Implement disk storage of partial results, so the entire result doesn't need to be held in memory.
Implement disk storage of cached driver query results, so they don't need to be held in memory. Also, create a way to specify an "expiration time" for cached results, on a per-driver basis.
Complete the implementation of all combinations of lazy (pipelined) and parallel (multithreaded) query evaluation.
Complete support for OQL, including anonymous sets, group by, having, and order by. Complete support for ODL, including relationships in interfaces.
Add XML as an output format, and develop a data driver for XML.
Develop a CORBA data driver.
Remove K2's dependency on JGL collections by using the collection classes provided with Java™ 1.2.