home / releases / 0_9_9
**Ali Farhadi (4):**

 - Correcting default base path route.
 - Adding tests for `\lithium\action\Response::cache()`.
 - Updating `\lithium\action\Response::cache()` to accept timestamp and string as parameter. Fixes #150.
 - Removing unnecessary Last-Modified header and adding max-age header.

**David Persson (12):**

 - Renaming `'availableLocales'` to `'locales'` and updating syntax.
 - Replacing multiple calls to `Validator::add()` in g11n bootstrap with `foreach` loop.
 - Changing the signature of `Catalog::read()` and `Catalog::write()`.
 - Fixing whitespace.
 - Changing the signature of `Catalog::read()` and `Catalog::write()`.
 - Account for yielding just one item.
 - Wrap calls to Catalog::write() and read() in try/catch statements.
 - Default save to yes.
 - Use the view compiler on contents before parsing them for extracting translation templates.
 - Adding tests for Extract console command.
 - Cleaning up whitespace.
 - Ask for scope once.

**Denis de Bernardy (9):**

 - Core test fixes.
 - Fix realpath issues in console test suite.
 - Fix another realpath issue in unit tests.
 - Fix router tests in subfolder installs.
 - Fixing bug in setting TTL when storing an item using the APC cache adapter.
 - MySQL logic fix + extra connection tests.
 - Add extra unit tests for MySQL.
 - Avoid throwing an exception during unit tests.
 - Make sure Session::write() actually returns true on success when using the PHP adapter.

**James Logsdon (1):**

 - Adding Session::clear() to Memory and Php adapters. Implements #90.

**Jon Adams (5):**

 - Updating couchdb adapter's upate method to assign error to entity and return false on conflict.
 - Refactoring couchdb update method slightly to utilize bound entity's data.
 - Adding couchdb adapter and model integration tests.
 - Renaming couch integration test and extending `lithium\test\Integration`.
 - Fixed issue in  prohibiting passing message and other options on to connection. Updated tests.

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

 - Adding docs and tests for `template\view\Renderer`.
 - Fixing bug where using `set()` from a view/element would not make the variables available in the layout.
 - Adding test cases for `test\Unit::assertCookie()`.
 - Adding additional `strategy` path to make extension strategies more versatile.
 - Updating `action\Request::type()` to accept an optional `$raw` parameter.
 - Fixing `decimal` validation in `util\Validator` to correctly identify `0.0` (and similar) as valid.
 - Fixing coding standards violations in `util\Validator`.
 - Updating `tests\cases\console\command\CreateTest` to work with case-sensitive filesystems.
 - Adding `total_rows` and `offset` to document query results when using the CouchDb adapter.
 - Adding support for swapping validation rules when calling `validates()`, as well as when calling `save()`.
 - Updating MongoDB datasource to throw exceptions for `create/read/update/delete/entities` methods when no connection is available.
 - Updating `tests\integration\data\SourceTest` for CouchDB compatibility.
 - Updating `CouchDb` adapter with `calculation` method.
 - Adding class doc block for `storage\session\strategy\Hmac`.
 - Adding class and method doc blocks to `template\view\Renderer`.
 - Add class and method doc blocks to `test\Group`.
 - Adding class doc block for `test\Integration`.
 - Adding class doc blocks to `test\Report`.
 - Updating `net\http\Router` to properly match routes with named anchors.
 - Removing bad EOL markers for \`net\http\{Route,Router}\`.
 - Adding default cache expiration time to all cache adapters.
 - Updating `session.cookie_lifetime` default value for Php session adapter to be 0 seconds.
 - Removing EOF newlines from previously cherry-picked commit.
 - Making Cookie adapter use the `name` configuration parameter consistently. Fixes #93.
 - Small refactor to `action\Request::env()` for HTTPS parsing.
 - Implementing Enhancement #59.
 - Small optimization to `Router::match()` for cases where no prefix options are passed.
 - Updating test\Unit::_cleanUp() to skip over dot paths ('.' and '..'). Thanks to elazar for the bug report and patch!
 - Adding checks for empty arrays for `RecordSet::to()` when record set contains no records. This causes PHP to trigger an E_WARNING, since `array_combine(array(), array()` is considered an invalid statement.
 - Fixing violations of coding standard.
 - Adding skips to `ConnectionsTest` to account for PHP installations that do not include any MySQL extension.
 - Replacing an assertion in `MongoDbTest::testArbitraryMethodCalls()` more format-independent, due to slight incompatibility between versions of the mongodb pecl extension.
 - Fixing bug with `Model::find('list')`. Fixes #121. Added missing test for `find('list') call.
 - Updating `Apc::enabled()` to better handle certain ini parameter combinations. Fixes #124.
 - Fixing bad EOL.
 - Fixing bug in setting TTL when storing an item using the XCache cache adapter.
 - Adding test to `net\http\RouterTest` to disprove #149.
 - Adding skip condition to `tests\cases\net\socket\ContextTest`.
 - Small simplification to `test\Unit::assertCookie()`.
 - Adding skip condition to `tests\cases\util\ValidatorTest::testEmailDomainCheck`.
 - Adding additional session integration tests for `tests\integration\storage\SessionTest`.
 - Adding checks to Redis cache adapter for cases where no expiry is set.
 - Removing the `Cache` session adapter. Does not work & has no tests.
 - Updating Redis cache adapter tests to conform to behaviour of `increment` and `decrement` in Redis 2.x.
 - Removing two bad tests from `\tests\cases\core\LibrariesTest`.
 - Updating `\data\source\MongoDb`'s default connection string to use the MongoDB built-in constants `Mongo::DEFAULT_HOST` and `Mongo::DEFAULT_PORT`.

**Nate Abele (244):**

 - Adding fix for adding empty tests in `\test\Group`.
 - Fixing `\security\Auth::config()` when no configurations are defined.
 - Documenting method parameters in `\template\helper\Form`.
 - Adding test for Growl logger adapter, and refactoring for improved test coverage.
 - Fixing `'sticky'` flag in Growl logger, adding test case.
 - Updating documentation for `\core\Libraries`.
 - Fixing default cache config to abort when in CLI mode.
 - Refactoring test lookup fix for `\test\Group::_unitClass()`, references ticket #70.
 - Fixing file paths in default home page.
 - Rewriting test for `\core\Libraries` to not cause a fatal error when it fails.
 - Ensuring correct default values for `Adaptable` classes.
 - Updating example used in docblock of `\util\Validator::check()`. Fixes ticket #79.
 - Fixing coding standards issues with `@see` tags.
 - Fixing failing test in `UnitTest::testAssertCookie()`.
 - Updating exception message formatting in `Adaptable`, adding check to `\security\Auth` to throw exception when accessing undefined configurations.
 - Removing unneeded variable declaration in `\template\helper\Form::field()`.
 - Implementing `\util\collection\Filters::apply()` to enable applying filters lazily, so that classes are not immediately autoloaded.
 - Adding potentially redundant tests to `lithium\net\http\Media`. I don't care.
 - Adding fixes to `\net\http\Media::type()` for handling content types with character sets. Adding test coverage for automatic decoding of POST content read via stream.
 - Fixing URLs in docblocks which incorrectly used the `@see` tag. Added documentation and fixed formatting. Adding annotations to URLs in docblocks.
 - Allowing content-type header to be written if `$type` is non-default and header is currently not set in `\net\http\Response`.
 - Minor code cleanup in `\action\Controller::render()`.
 - Fixing various issues in console create scripts.
 - Implementing `\action\Request::accepts()` to return the type of content the client expects.
 - Adding option to `Media::encode()` to disable casting data to arrays. Changing all HTTP-related timeouts to 30 seconds, to avoid errors related to network traffic.
 - Updating `\action\Dispatcher` test to handle new exception formatting.
 - Adding `'cast'` option to `Media::encode()`.
 - Refactoring `\action\Dispatcher` to manipulate controller name string before processing rules. Updated test cases.
 - Changing `\action\Controller` to use `Request::accepts()` instead of `Request::type()` to determine response type.
 - Moving `\data\collection\Document::stats()` to `\data\Collection`.
 - Implementing support for nested key getting and setting in `\data\collection\Document`.
 - Refactoring `\data\collection\RecordSet` to support indexes for pre-populated data, refactoring `\net\http\Media` to centralize handling of custom encoding, and adding data marshaling. Fixes ticket #53.
 - Implementing fixes for `\data\source\MongoDb::order()`, adding test coverage.
 - Fixing iterators in `\util\Collection`.
 - Refactoring model relationship handling, implementing as object. First draft, non-functional.
 - Fixing issues with boolean values and COUNT() queries in relational databases.
 - Second draft of model relationships. Still not really working. Added tests with cutting political commentary on the destruction of Main Street America by discount superstores.
 - Fixing test of `\core\Libraries` for non-default installs.
 - Refactoring `MongoDb` adapter to make `$connection` property more consistent with other adapters. Implementing support for manual schema introspection. Updating method signatures.
 - Moving class constructor from `\data\collection\Document` to `\data\Collection`. Making `closed()` and `close()` methods public. Refactoring offset and key handling in `Document` and `RecordSet`. Adding `'locked'` flag to meta information in `Model`.
 - Implementing `\data\Model::update()` and `\data\Model::remove()` for updating or deleting multiple records or documents. Implemented `'whitelist'` flag in `Model::save()` to filter field lists on insert or update.
 - Fixing issue where Mongo IDs would be written as strings when documents are updated. Fixes ticket #84.
 - Adding default `name()` method to `\data\Source`.
 - Standardizing on connection syntax to use `'host' => 'host:port'`  instead of `'host' => 'host', 'port' => 'port'`. Updated MySQL and MongoDB adapters.
 - Refactoring column handling for MySQL. Now parses precision for floating point values.
 - Adding class check in `\data\collection\Document::_relation()` to fix test run.
 - Refactoring parenting for data and collection objects in `\data`. Implementing multi-key support in model relationships.
 - Refactoring `\data` to change all references of `'table'` to `'source'`.
 - Fixing database integration issues. Updating `\util\Collection::invoke()` to no longer rely on `\core\Object::invokeMethod()`. Updated tests accordingly.
 - Fixing validation in `\data\Model::save()`.
 - Adding missing files from last commit.
 - Updating documentation in `\data\Collection`. Minor change to implementation of `close()`.
 - Fixing logic flaw in `\data\Collection::closed()`.
 - Fixing issue where rewinding a data collection incorrectly returns no result.
 - Updating basic CRUD operations in `\data\source\Database` to accept string queries. Minor refactorings to `\data\source\MySql`.
 - Fixing status value check in `MongoDb::create()` for compatibility with MongoDB 1.5.
 - Refactoring model relationship construction and exposing new method `Model::bind()` for dynamically creating model relationships.
 - Fixing offset calculation in `\data\model\Query`, fixes paginated queries.
 - Refactoring base classes in `\data`, implementing one-to-many relationship support for MongoDB. Implementing GridFS support in MongoDB. Making `\util\Collection::toArray()` public.
 - Renaming `\data\Model::_instance()` to `\data\Model::_object()`.
 - Updating controller template generation.
 - Updating test cases.
 - Type fixes to handle test suite warnings.
 - Adding sanity checking to class instantiation in `\core\Object::_instance()`.
 - Updating mock model classes to comply with API changes.
 - Fixing code formatting in controller generation command.
 - Adding type checking in `Model::find()`.
 - Fixing issue where new sub-objects in existing `Document` objects were not persisted.
 - Updating test cases.
 - Making `\action\Dispatcher::applyRules()` and `\console\Dispatcher::applyRules()` public methods.
 - Minor refactoring to `\action\Request`, added test coverage, removed unused properties and updated docblocks.
 - Cleaning up code formatting and adding test coverage to `\g11n` classes.
 - Small code cleanup and refactoring.
 - Removing `@author` and `@package` docblock tags. Tweaking XCache adapter documentation.
 - Adding documentation for `\util\collection\Filters`.
 - Moving `config/connections.php` to `config/bootstrap/connections.php`. Updating docblocks.
 - Updating `\analysis\Docblock::comment()` to account for Windows newlines, removed unreachable code branch, added test coverage.
 - Adding test coverage and documentation tweaks for classes in `\core`.
 - Expanding class documentation for `\data\Entity`.
 - Fixing merge conflicts.
 - Cleaning up.
 - Fixing issue in `\net\http\Router::match()` where an empty string would be returned in certain circumstances. Adding documentation to routing classes and refactoring.
 - Minor refactoring to `\net\http\Media`.
 - Extending syntax for `\action\Request::get()`. Simplifying tests for `Request`.
 - Adding tests for `\data\model\Query`, which prove #73.
 - Fixing formatting of example code in docblock in `Form` auth adapter.
 - Fixing formatting consistency in `.htaccess` files.
 - Adding reference information to `Hmac` session strategy.
 - Annotating links in documentation for `Gettext` adapter.
 - Modifying test suite results display to remove leading backslash, and removing "test results for" text on initial page load, when no tests results are available.
 - Adding test for `\data\Source`. Refactoring classes in `\data` into "entity" and "set" classes. Split `Document` into `entity\Document` and `collection\DocumentSet`. Renamed `\util\Collection::$_items` to `\util\Collection::$_data`. Constructor parameter in all subclasses is now `'data'`, to provide more consistency with entity classes, etc. Changed `\data\model\Query::binding()` to `\data\model\Query::entity()`, to better  reflect design.
 - Changing exceptions thrown in `\action` to instances of `\action\DispatchException`.
 - Fixing merge conflicts.
 - Refactoring `\data\source\Database::relationship()` to use `\core\Object::_instance()`.
 - Removing unnecessary overridden `name()` implementation in `MySql` adapter.
 - Implementing table aliases in read queries in `\data\source\Database`.
 - Fixing merge conflicts.
 - Removing default port configuration from classes in `\net\http`. Implementing `Request` object mapping features in `Curl` adapter.
 - Beginning implementation of HTTP meta-data-based routing.
 - Refactoring `Curl` socket adapter to reduce code and be more independent/easily testable. Adding test coverage.
 - Removing support for the `'plugin'` key in `\net\http\Media::asset()`. Only the `'library'` key is now supported.
 - Refactoring `\net\http\Media` to move code for finding physical asset paths out to separate methods.
 - Renaming `\net\http\Media::pathRoot()` to `\net\http\Media::webroot()`.
 - Implementing support for matching HTTP headers and verbs in routes.
 - Adding `method_exists()` check for non-existent actions in `\action\Controller::__invoke()`. Fixes ticket #75.
 - Changing `Exception` to `DispatchException` in `\action\Controller::__invoke()`.
 - Adding semantics in `\core\Environment` for automatically using the current environment in `get()` / `set()`.
 - Refactoring `\core\Libraries::path()` to reduce complexity, and implementing fix so that custom `'transform'` configurations which don't return a value no longer cause the class loading process to abbend.
 - Adding documentation to templating readme on creating custom helpers and extending core helpers.
 - Adding ability to configure class dependencies of `\net\http\Router`. Fixes #114.
 - Adding `method_exists()` check for non-existent actions in `\action\Controller::__invoke()`. Fixes ticket #75.
 - Fixing variable name changed in merge in `\net\http\Router::match()`. Refactoring to simply method implementation, and adding `Router::_persist()`.
 - Adding clarifying documentation to `\core\Object::__construct()`.
 - Amending previous commit.
 - Increasing test coverage to 100% in `\net\http\Message` and `\net\http\Request`.
 - Adding fix for `\data\entity\Document` to allow `Document`s and `DocumentSet`s to be assigned to other `Document`s.
 - Adding test coverage for `\data\Model::key()`.
 - Making `\storage\cache\adapter\File::clear()` actually work.
 - Updating G11n test cases to comply with new API.
 - Updating `\util\Validator` tests to reflect fixes to the filter extension in PHP 5.3.3.
 - Updating library searching test cases to match new mocks.
 - Updating test cases to account for `\g11n\ExtractTest`.
 - Implementing additional methods in `Cache` session adapter.
 - Tweaking exception messages in `\action\Controller`.
 - Begin refactoring API of `\action\Response` to provide more flexible cache control.
 - Adding documentation to `\core\Libraries::add()`.
 - Refactoring default options for `\action\Controller::render()`.
 - Refactoring `\action\Controller::redirect()` to include more logic in the filter block.
 - Refactoring initialization of `\net\http\Response`.
 - Adding explicit type-casting for array keys in `\data\Model::find('list')`.
 - Refactored `entities()` method in `MySql` adapter to properly return an array. Added test coverage.
 - Refactoring factorying for `\data\source\Http` and updating test cases to reflect changes in property names in `\net\http` classes.
 - Fixing coding standards violations.
 - Fixing coding standards violations. Closes ticket #143.
 - Removing commented-out unimplemented routing functionality.
 - Cleaning up app bootstrap files, adding documentation about `Auth` to default session file, commenting out `Auth` configuration by default.
 - Cleaning up and simplifying default route syntax.
 - Adding summary information to code coverage template.
 - Removing unused code from `\util\Set`, adding code coverage.
 - Moving cache settings higher up in default bootstrap process.
 - Preventing `\template\Helper` from being too smart about attribute minimization.
 - Implemented core exceptions. Implemented `\core\Libraries::instance()` to wrap service-location and instantiation of classes.
 - Changing bootstrap fatal error to `ErrorException`, adding full config file path to error message.
 - Pushing test coverage in `Form` helper to 100%.
 - Adding service location type for `'socket'` to `\core\Libraries`. Updating references in `\net\http\Service`. Socket adapters may now be configured as, for example: `'classes' => array('socket' => 'Curl')`.
 - Updating default stylesheet for improved code display.
 - Fixing issue with parsing docblocks with two `**` in the closing delimiter.
 - Updating default stylesheet for improved code display.
 - Merge branch 'x-exception'
 - Small optimization in `\util\Inflector::humanize()`.
 - Refactoring `\net\http\Media` and adding test coverage. Cleaning up namespace references. Rewriting media bootstrap filter to make better use of existing APIs.
 - Implementing support for aliased type resolution in `\net\http\Media::type()`. Adding test coverage.
 - Implemented correct parsing and sorting of `HTTP_ACCEPT` values.
 - Fixing docblocks for `\action\Request`, adding test coverage for parsing encodings in `\net\http\Response`.
 - Adding sanity check to `\core\Object::_instance()`.
 - Fixing socket lookup implementation for `\net\http\Service`. Fixing API for `\net\http\Message` so that the `'message'` key contains the entire message (headers + body), and the `'body'` key represents the body only.
 - Removing unused flag in `\template\view\adapter\File`.
 - Adding explicit string cast to `\core\Object::_instance()` to obviate type check.
 - Adding explicit type cast and `class_exists()` check to `\core\Libraries::instance()`.
 - Updating test cases in `\data\source\http` to reflect API changes. Misc. cleanup.
 - Adding DNS check to email validation tests, since I'm on a flight that doesn't have wifi.
 - Adding internet connection check for library installer test.
 - Updating test case for `\net\http\Media` to reflect changes in default decoding of JSON data.
 - Coding while half-asleep on a 14-hour flight is sometimes not the best idea.
 - Adding sanity check to `\core\Object::_instance()`.
 - Making encoding of template output handler match encoding of the `Response` object.
 - Rewriting media asset filter for simplicity and to make better use of existing APIs.
 - Correcting issues brought on by merging.
 - Fixing socket lookup implementation for `\net\http\Service`. Fixing API for `\net\http\Message` so that the `'message'` key contains the entire message (headers + body), and the `'body'` key represents the body only.
 - Fixing variable imports for template location.
 - Allowing backslashes in library declarations. Enables importing single packages of vendor libraries.
 - Improving test cases for mobile detection.
 - Correcting namespace declarations in `\net\http\socket\Context` test.
 - Implementing recursive merging of file data in `\action\Request`, misc. code cleanup. Fixes #166.
 - Removing default exception trapping in `\action\Controller::__invoke()`. Minor refactoring.
 - Re-introducing route parameters to assist with template location.
 - Removing unneeded variable declaration in `\template\helper\Form::field()`.
 - Pushing test coverage in `Form` helper to 100%.
 - Cleaned up code formatting and added documentation in `\template\Helper`.
 - Adding `\template\helper\Form::binding()` accessor method.
 - Fixing code formatting, and temporarily removing default element ID generation. Changing default checkbox auto-check behavior. Fixing default checkbox and radio button formatting when rendered by `field()`.
 - Removing explicit type-hint for `$binding` parameter in `\template\helper\Form::create()`, and adding documentation.
 - Cleaning up documentation for `\analysis\Inspector::executable()`, changing default filter to catch more non-executable lines.
 - Correcting bad property declaration.
 - Implementing form element attribute generators, adding default ID generator.
 - Fixing issue with rendering single errors in `Form` helper, adding parameter option to force single error, adding documentation.
 - Correcting default value for `\template\helper\Form::checkbox()`.
 - Removing class added in merge.
 - Adding sanity check to `\action\Request::is()`, since `is_callable()` will cause PHP to attempt to load classes that don't exist in some cases.
 - Making dispatching infrastructure slightly less controller/action-centric.
 - Adding default encoding in `\template\View`, for cases where no `Response` object is bound.
 - Adding missing mock class.
 - Enabling options in `$options` parameter of `\action\Dispatcher::_callable()` to be passed to callable constructor.
 - Implementing `\action\Request::__isset()`, fixes #168.
 - Breaking test results template out into sub-templates for better extensibility.
 - Implementing smarter conditional for route compilation.
 - Allowing `$options` parameter in `Renderer` `url()` handler. Adding test coverage.
 - Small code reformatting for clarity.
 - Moving `\data\Model::_connection()` to `\data\Model::connection()`.
 - Refactoring `\data\Connections` to return a mock adapter when a model uses no connection.
 - Adding reference link to `\data\Model::__callStatic()`.
 - Fixing issue in `\data\model\Query::export()`, where query data would not be properly exported. Adding fluent interface to `Query` methods. Cleaning up namespace declarations.
 - Beginning refactoring of... stuff.
 - Making `\data\Model::$_classes` static.
 - Re-ordering cascading configuration in model initialization. Removed unnecessary check when proxying to model connections.
 - Changing class doc in `Database` to reflect API.
 - Cleaning up namespace references and fixing casing of `FROM` SQL clauses in `\data\source\Database`. Fixes #145.
 - Replacing `\data\Model::_name()` with faster implementation.
 - Implementing auto-configuration for `$_classes` property of `\data\Source`, fixes #129.
 - Refactoring collection and entity classes to use `cast()` method of their respective data sources. Adding schema support to `\data\model\Query`. Misc. code cleanup.
 - Fixing consistency issue in database test.
 - Adding type-casting for integer and float values for MongoDB, removing un-used functionality.
 - Adding missing `DocumentArray` class.
 - Fixing configuration merge order in `\data\Model`.
 - Moving database results handling to self-contained iterable result objects.
 - Adding stub integration test for relational databases.
 - Adding error handling for test case loading.
 - Adding handling for exceptions thrown in `setUp()` and `tearDown()` of test cases.
 - Removing default schema configuration from `configureClass()` method of `MongoDb` adapter.
 - Adding default implementation of `\data\Source::cast()`.
 - Disabling table aliases for UPDATE and DELETE queries in MySQL.
 - Implementing data value casting at object-write time, refactoring results fetching in `RecordSet` and `DocumentSet` to use `Result` objects. Implementing `ArrayAccess` in `Document`.
 - Fixing retrieval of newly-created document IDs in MongoDB adapter.
 - Adding fixes for casting and schema definition of nested objects in `MongoDb`.
 - Changing $options parameter of `\action\Controller::render()` to only accept arrays.
 - Updating example application code to comply with new API for `\action\Controller::render()`. Fixes #178.
 - Cleaning up `\util\Validator`, and adding documentation on various validation rules.
 - Adding test coverage to `\template\Helper`, refactoring to improve testability.
 - Fixing minor timestamp issue in `Apc` cache adapter. Refactored for better testability. Fixing formatting of classes in `\storage`.
 - Fixing `Complexity` test filter to account for non-public methods.
 - Switching `Json` serializer strategy to deserialize to arrays instead of objects.
 - Fixing issue in `\storage\Session::read()` that caused fatal errors if filters were applied, fixes #173. Finishing test coverage for class.
 - Ensuring safe cookie names when using app directory name. Adding test coverage to `Cookie` session adapter.
 - Fixing `\test\Unit::assertCookie()` for better spec conformance, addresses #171. Misc. formatting fixes.
 - Adding test for non-standard cookie names in `Cookie` adapter.
 - Adding documentation to `\data\Model::save()` on custom validation rules.
 - Fixing formatting in console classes. Adding test coverage for `Extract` command.
 - Re-implementing service locator implementation in `\core\Libraries` to improve path search accuracy. Refactored methods to reduce complexity.
 - Cleaning up namespaced import declarations.
 - Improving default application cache configuration, adding notes on how to change them.
 - Updating links on default page and layout.
 - Cleaning up formatting of default template.
 - Missed a spot.
 - Updating default application template.

**Niel Archer (5):**

 - Fixing syntax of 'li3 create' examples.
 - Fixing small problem for `Form::$_filters` doc block.
 - Adding `"'adapter' => 'Form',"` to all examples of Form adapter configurations.
 - Adding to Model class doc block.
 - Formatting correction to comply with documentation standards.

**alkemann (23):**

 - Adding tests for table alias in SQL generation.
 - New test for Mysql adapter of single field finds, see ticket #109.
 - Updated the wiki for Template to give info on elements
 - Implement and test for Field name passed as option to validation rules, see ticket #103.
 - Fixed problem with value being set as default for error method.
 - Added displaying all validation errors as default functionality.
 - Added functionality and test for multiple fields.
 - Optimized the field method and rewrote the example code.
 - Field() will assume type select if list is given, but no type specified.
 - Fixed special case of radio type through the field method.
 - Giving label the correct (id) 'for' value in field.
 - Fixing label for field to use field as title if using id as for.
 - Checkbox refactored to include a hidden input by default. This feature is turned 'off' by supplying a value.
 - Fixed _defaults to not override the value for '0'.
 - Removed label from radio template (and the need for special case in field).
 - Removed hardcoded id attribute from radio template.
 - HTML attribute setting for checkbox value should overwrite binding value.
 - Field will use html attribute id equal to name if not supplied, adding formid if it exist.
 - Autogenerating an id value for form tag as camalized action name, adding it to generated field ids.
 - Removed camelize from autogenrated id attributes.
 - Adding doc block to Helper.
 - Added test for checkbox (commit 62c5dcf6a3c748e01ed9395325f8925056cb1a0a).
 - Fixed special case of radio type through the field method.

**awgy (1):**

 - Fix misspelling causing omission of integration tests (fixes #99)

**gwoo (43):**

 - Removing automatic response content type based on request. Refactored `\http\Message::body()` to take a buffer.
 - Adding `Object::_instance()` and `StaticObject::_instance()`
 - Updating `\test\Unit` handling of array comparisons and exception reporting.
 - Updating classes to use new _instance() method in `\core\Object` and `\core\StaticObject`.
 - `\core\Object::instance()` will return false or null `$name` is `null`.
 - Initial changes to how `\command\Create` and friends work.
 - Working on new create.
 - More work on new `\command\Create` interface.
 - More work on new create stuff.
 - Adding args method to `\console\Request`.
 - New \command\create working with nearly 100% coverage.
 - Refactoring of `console\command\Create` and subcommands.
 - `console\command\Create`: passing in the request to every method used to translate params into values.
 - `\console\command\create\Test` test: clearing Libraries cache.
 - `\console\command\Create` fix for path saving.
 - Adding more docs for `\command\Create`.
 - Adding rule to '\console\Dispatcher` handling camelizing commands.
 - Changing `\command\Create` to use _instance() method.
 - `util\Inflector::camelize()` now replaces _ and -. `util\Inflector::underscore()` uses `util\Inflector::slug()` `util\Inflector::slug()` will add a replacement before capital letters in a camelized word.
 - Refactored handling of content type. Moved type() method into `\net\http\Message`. `\net\http\Message` now has a dependency on `\net\http\Media` to return the alias for the content type.
 - Reverting changes to `\net\http\Request::to('context');`
 - Adding translierations to `\util\Inflector::reset()`.
 - Changing `\console\Help` to use 'mock-command' instead of 'MockCommand'.
 - Reverting changes made to `\socket\Context`.
 - Refactored handling of content type. Moved type() method into `\net\http\Message`. `\net\http\Message` now has a dependency on `\net\http\Media` to return the alias for the content type.
 - Filled in some methods of `\data\source\Http`.
 - New paths and more tests for `\data\source\Http`.
 - Adding another exception expectation to `\data\ConnectionsTest`.
 - Adding more tests to `\data\source\HttpTest` and making it green.
 - Beginning refactor of `\net`.
 - Adding '\net\Message` for the basic request/response from `\net\Socket`. Refactored `\net\http\*` to use the new class.
 - Close to 90% converage on `\net\*`.
 - Adding `tests\integration\net\ServiceTest`.
 - Fixing the MockSocket used in `\net\http\ServiceTest`.
 - Fixing up some broken code related to changes in `\net\*`.
 - Reverting change made to ConnectionsTest.
 - Adding more tests for timeout handling in `\net\socket\Context`.
 - 91% coverage for `\test\Unit`.
 - Adding tests so `\console\Library` at 90%.
 - Adding version 1 to couchdb by default as workaround for php context bug.
 - Cleaning up \test\* to run all tests.
 - Fixes #167, creating classes from console.
 - Updating some console\create tests after last changes.

**moos3 (1):**

 - Rectifying incorrect boolean logic for default cache adapter selection in `app/config/bootstrap/cache.php`. Fixes #122