home / about / roadmap
# Development Roadmap

This is the set of features that the Lithium team is focusing on in the near-term. If your must-have feature or favorite new technology doesn't appear here, don't fret: Lithium is very flexible and has a robust plugin API. Extending the core framework is trivial, and it's possible that someone has already developed a [project that meets your needs](http://dev.lithify.me/projects).

### Session/Cookie Handling

  - A strategy to encrypt cookie data

### Model

  - Support for automatically and manually mapping SQL query results
  - Finishing support for relationships
  - <strike>Schema caching</strike>

### Test Suite

  - Implement JSON display formats for test data
  - Switch to Xdebug's ignored lines filter

### Error Handling System

  - Aggregate multiple filters applied to the same method
  - Integrate handlers with filtering system
  - Integration tests
  - Class documentation

### Security

  - <strike>CSRF support</strike>
  - Integration tests for the HTTP adapter

## Post-1.0

### Console

  - Support for `libedit` / `readline`

### Globalization

 _More information about Globalization in Lithium can be found in [the specification](http://dev.lithify.me/lithium/wiki/specs/globalization)._

 - Support for retrieving plural functions via `Catalog` for `Cldr` and `Gettext` adapters.
 - Uniform plural functions (in `Cldr`, `Gettext` and `Memory` adapters).
 - Support for _direction_.
 - Caching in Catalog (replacing caching in Message)?
 - `Inflector` integration

Note: `Inflector` already supports a decent set of conversions. Making some of those conversion g11n resources and  adding them on a per locale basis &mdash; if needed &mdash; to the `Inflector` would be nice to have but isn't required.

#### Plugin-based support

 - Support for number and date formatting
   - Date and Number Helpers using ext/intl?
   - Date and Number Formatting at model level?

### Static Code Analysis

  - The `lithium\analysis\Parser` class has only very rudimentary support for recognizing code patterns.  Possibility: implement an object-oriented abstract syntax tree.


### Logging

 - <strike>Adapter support for FirePHP</strike>

### Model

 - Collection constraints

### Routing

 - Built-in entity/resource routing

### Cache

 - Namespaced cache keys
 - CAS
 - <strike>Multi-key support for read/write/delete operations</strike>

### Session

 - Multi-key support for read/write/delete operations

### Default pages

 - Check connections of any configured database/cache/other external resource adapters
 - <strike>Check system support for various database / cache adapters</strike>