# 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://rad-dev.org/projects). ### Session/Cookie Handling - Cookie and PHP-based session adapters need integration tests with the `Session` class. (jperras) - A mechanism to optionally encrypt cookie data (strategy?) (jperras) - A mechanism to optionally sign cookie data to ensure it has not been tampered with. (jperras) ### Model/Data Layer & Validation - SQL querying support is currently very basic. See `lithium\data\model\Query` and `lithium\data\source\Database` / subsidiary drivers. - Support for joins / relationships -- **in progress**. ### Test Suite - Implement XML and JSON display formats for test data, with the intent on utilizing this for a continuous integration solution. ### Error Handling System - Needs additional filtering rules and interface testing. - Integration tests - Class documentation & example configurations ### Globalization More information about Globalization in Lithium can be found in [the specification](http://rad-dev.org/lithium/wiki/specs/globalization). * A g11n <strike>guide</strike> tutorial. -- **done** * G11n routing (as part of the <strike>guide</strike> tutorial/extension on lab). -- **done** * Move CLDR adapter to plugin. -- **done** * Introduce environment settings as described in _Identifying, Setting and Passing Locale Settings_ of the spec. -- **done.** * `Inflector` g11n resources? * Support for number and date formatting * Date and Number Helpers using ext/intl? * Date and Number Formatting at model level? * Support for _direction_. * Support for retrieving plural functions via `Catalog` for `Cldr` and `Gettext` adapters. * Uniform plural functions (in `Cldr`, `Gettext` and `Memory` adapters). * Caching in Catalog (replacing caching in Message)? * Figure out how/if integration with Inflector makes sense ### Queuing - Actual work on the plugin needs to start/resume (jperras) ### Security - Authentication: Additional unit tests, integration tests & adapters. ### 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.