home / releases / 0_9_5
**Joël Perras (16):**

 - Partial documentation for `data\Model`.
 - Adding documentation for `template\View` and `template\view\Compiler`. Updating `template/readme.wiki`, since we now use a tokenizer+compiler instead of a stream filter.
 - Updating `Php` session adapter to handle dot-syntax keys for read/write/check and delete operations.
 - Adding a read-through cache option to `Cache::read()`.
 - Increasing code coverate of `storage\Cache` to 100%.
 - Adding multi-key read/write to `Redis` cache adapter.
 - Minor cleanup of `Redis` cache adapter ctor & `_init()` methods.
 - Updating `Redis` cache adapter to use `\Redis::expireAt()` instead of `\Redis::setTimeout()`.
 - Implemented conditional operator parsing to MongoDB source. Tests added.
 - Fixing coding standards violations in MongoDB source documentation.
 - Adding missing class attribute definitions to `MongoDb` source.
 - Adding `$nin` (NOT IN in SQL-speak) condition parsing for `MongoDB` source.
 - Adding some missing MongoDB docblocks.
 - Refactoring Adaptable to not mutate the value of `'adapter'` keys in configurations.
 - Updating HMAC session signing strategy for better interoperability with `security\Auth`.
 - Docs for `template\View`.

**Nate Abele (25):**

 - Adding sanity check and cast to output handler extraction in `\template\view\adapter\File`.
 - Removing "Lithium" naming from externally-facing HTTP headers.
 - Adding class-level docblocks for various classes.
 - Adding `libraries/_source` and `app/libraries/_source` as stores for raw checkouts / downloads of source code repositories. Relevant directories containing source files should be symlinked into the appropriate libraries directory.
 - Moving `\test\filter\Affected::_testCaseForClass()` to `\test\Unit::get()`. Used to get the test case for a class.
 - Adding test case for `\test\Unit::get()`.
 - Refactoring `\test\Group::add()`, fixing support for running plugin and application tests with the "all tests" group.
 - Misc. code formatting and refactoring in `Http` auth adapter.
 - Refactoring model initialization, and making class-defined schemas inheritable.
 - Tweaking console help formatting.
 - Refactored `\analysis\Docblock`, fixed misc docblock tag parsing issues, added test coverage.
 - First draft implementation of `Growl` logger adapter. Begin refactoring `\analysis\Logger` to improve flexibility and multi-adapter logging.
 - Adding / updating docblocks for classes in `\analysis`.
 - Refactoring `File` log adapter, adding test coverage, documentation, and configurable timestamp support.
 - Adding documentation to `\analysis\Logger`, and removing unused static dependencies.
 - Updating `Logger` test for changes in `File` logger.
 - Removing test for unimplemented functionality.
 - Removing unused features from `\console\Dispatcher`.
 - Ensuring that `\core\Libraries::path()` always returns the real path to files and directories.
 - Redesigning `Logger` API. Messages can now be written to multiple adapters for a given priority.
 - Fixing CouchDB docblock.
 - Various abstraction compatibility fixes for CouchDB and MongoDB, adding integration test skips for databases that don't support relationships.
 - Adding extra newline to documentation to compensate for Showdown's brokenness.
 - Refactoring `\data\Model::key()` to always return an associative array in cases where a value is provided. Added test cases.
 - Additional documentation for `\net\http\Router` and `Router::match()`.

**gwoo (6):**

 - Adding `Http` auth adapter
 - Adding `security\auth\adapter\Http` test cases and documentation.
 - Adding tests for dot syntax used by `\session\adapter\Php`. Updating code to pass tests, removes `Set::extract()`.
 - Updating handling of overwrite method in `\session\adapter\Php`
 - Fixing bad tests related to dot syntax in `\integration\storage\SessionTest`
 - Updating app.phar.gz template used by `\console\command\Create`

**John David Anderson (9):**

 - Adding docblocks to console create classes.
 - New docblocks and formatting for lithium\action and `\analysis`.
 - Docblocks for `\core`.
 - Docblocks for `\data`.
 - Docblocks for `\g11n`.
 - Docblocks for `\net`.
 - Adding a missing docblock.
 - Adding a few missing docblocks.
 - Adding docblocks.