home / releases / 0_9
**Jon Adams (11):**

 - CSS Refactoring and updates for testing dashboard and default app landing page styles.
 - Passing base parameter in test layout for use in creating links to affected tests in affected tests filter.
 - Adding title to code coverage filter.
 - Removing trace line from `\lithium\test\Unit::_message()` output when trace is empty.
 - Updating test for removal of empty traces.
 - Test results style changes.
 - Continued style edits for debug.css.
 - Reordered css for default layout, updating default app landing page to include new types of messages, with dynamic extended support, as well as beginning to implement more extensive DB connection tests for all defined connections.
 - Refactored `assertCookie()` to not require passing headers_list() explicitly and moved to `\lithium\test\Unit`. Updated tests accordingly.
 - Updated code coverage styles for better contrast.
 - Isolated safari inheritance bug and fix for code coverage font size iconsistency, general inheritance cleanup for better overall consistent font sizes. Also fixing links in affected tests template including whitespace inside each link.

**Joël Perras (17):**

 - Refactoring `\template\View`.
 - Removing typehinting from `\template\View::render()`.
 - Updating `\template\View` method signatures.
 - Adding default name to `\storage\session\adapter\Php` adapter. Fixing incorrect detection of already-started sessions.
 - Adding nested key support for `\storage\session\adapter\Cookie::read()` and `write()`.
 - Adding doc blocks to `\storage\session\adapter\Memory`.
 - Removing dtor for `Php` session adapter.
 - Simplifying logic in `\storage\session\adapter\Php`.
 - Updating `\storage\session\strategy\Hmac` with proper option merging. Updating `\tests\integration\storage\SessionTest`.
 - Adding doc blocks for `\core\ErrorHandler` & return early refactor for configurations with no defined handlers.
 - Adding additional default library path for application-level adapters: `app/extensions/adapter/:class/:name`.
 - Fixing console `LibraryTest::testFormulate()` for cases when test subfolder does not exist.
 - Removing unused variables from closure defintion of the 'count' model finder type.
 - Updating `Php` session adapter test coverage.
 - If no `session.name` is configured for the `Php` session adapter, it will utilize the folder name of the application.
 - Updating cookie adapter to use application folder name for cookie namespace name.
 - Refactoring Redis cache adapter construction for better test skip detection.

**Nate Abele (40):**

 - Fixing regex parameter match, now properly matches flags with uppercase characters.
 - Adding syntax fix for generating file inputs in `Form` helper.
 - Refactoring action bootstrap filters to account for refactor in `\action\Dispatcher::run()`. Disabling testing routes when running in production mode.
 - Refactoring settings handling in `\net\http\Media`, and implementing `reset()` to allow wiping of userland settings.
 - Cleaning up debug code in tests.
 - Minor optimization in filter implementation.
 - Adding support for authenticated connections for MongoDB.
 - Making all connection properties public across the framework.
 - Refactoring `\analysis\Inspector` to create classes without instantiating them, making `Collection` a dynamic dependency, filtering token syntax checking, and removing unused dependencies in `Parser`. Improves performance significantly.
 - Manually setting the default hash type in `\util\String::hash()`.
 - Refactoring data layer to move model relationship initialization from `\data\Model` to backend data sources.
 - Updating model relationship handling to use fully-namespaced class names.
 - Initial draft commit of `ErrorHandler`.
 - Enabling use of parameters with routing shorthand syntax.
 - Implementing shorthand syntax (+ shorthand with additional parameters) for connecting new routes.
 - Adding basic method checking for binding objects in `\template\helper\Form::create()`.
 - Fixing formatting in test skip messages to remove redundant information.
 - Implementing support for route handlers.
 - Renaming `lithium\net\http\Base` to `lithium\net\http\Message`.
 - Fixing doubling-up of paths in library location.
 - Updating `Validator` docs and replacing code snippets with unit test references.
 - Disabling time limit when running unit tests.
 - Updating documentation for `\util\Validator`, adding tests to prove functionality in ticket #44, fixing doc formatting in `\action\Controller`.
 - Adding sanity checking to destructors in `\console\Request` and `\console\Response`.
 - Adding temp file cleanup to test case for `\console\command\Library`, tidied code formatting.
 - Adding test coverage for `\action\Dispatcher`.
 - Adding test coverage for `\action\Response`.
 - Implementing identifier quoting in `\data\source\Database`, and rewriting/simplifying `order()` method implementation. Added/updated test cases.
 - Adding fix for empty quoted values in `\data\source\Database`, which fixes failing test in `Query`.
 - Making models work with no backend defined.
 - Implementing model configuration inheritance for any number of base classes. Fixes ticket #42.
 - Adding mock model base class.
 - Removing debug info and replacing with tests.
 - Implementing `ArrayAccess` support in `\template\view\adapter\File`. Adding test case. Fixes ticket #30.
 - Added default class `'error'` to generated template in `\template\helper\Form::error()`. Added test to demonstrate custom override configuration.
 - Refactoring session / cookie name generation.
 - Adding test coverage for `\core\StaticObject` and removing unused code branch.
 - Refactoring routing to give more control to individual Route classes.
 - Allowing persistent route parameters to be overridden by setting to null.
 - Ensuring that output filters are always extracted, even when variable extraction is turned off in templates.

**Niel Archer (3):**

 - Refactoring `MySql::describe()` / `MySql::_column()`.
 - Adding test for using 'fields' option in `Model::find()`.
 - Adding test to `Record::set()` (and `read()`) multiple data fields.

**Richard Rowe (1):**

 - Fixing issue where `Form` helper creates form tag with invalid method attributes.

**Sebastian Krebs (1):**

 - Change *nix CLI-tool from bash to PHP

**Wil Sinclair (1):**

 - Fixes routing when `$base` is explicitly set to the empty sting.

**gwoo (6):**

 - Refactoring how timeout is handled for \net\socket\Context.
 - Updating how config is set in Php adapter for Session. Reference all php level configs with `session.<key>`. Removing automatic timestamping in `Session`.
 - Updating timeout handling in`\net\socket\Context` and adding test case.
 - Fixing up test cases that were failing.
 - Fixing `\action\Response` handling of status.
 - Fixing bad test in `\net\http\RouterTest`.