home / releases / 0_2
**David Persson (3):**

 - Moving g11n `Extract` command to it's own class.
 - Updating scope comparison.
 - Shortcut translation method for templates.

**James Logsdon (4):**

 - ```core\Libraries::locate()``` expects each part of ```$type``` to start with a lowercase letter, ```data\Connections``` was configured with ```dataSource.Database``` instead of ```dataSource.database`
 - Casting all glob() calls to an array (ticket #4)
 - The ```$escape``` parameter for several methods has been removed, updating docs to reflect this
 - Adding test for custom regex subpatterns

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

 - Updating class doc block and other doc blocks in Memcache adapter.
 - Updating class doc block & other doc blocks for Memory cache adapter.
 - Adding missing parameter to doc blocks for File, Memcache and Apc cache adapter  methods.
 - Adding magic __get to Memory cache adapter. Fixing Memory::clear(). Adding tests for Memory cache adapter.
 - Adding class doc blocks for Adaptable.
 - Preliminary work on PHP adapter for sessions.
 - Cleaning up Cache interface.
 - Adding support for conditional cache read/write/delete operations using anonymous functions & closures.
 - Adding increment/decrement to Memcache cache adapter.
 - Adding tests for Memcache adapter increment/decrement.
 - Removing  from Memcache adapter - this is now handled at the  level.
 - Removing  from APC cache adapter - this is now handled by  class.
 - Removing  argument from File cache adapter - this is now handled by the  class.
 - Fixing incorrect doc block for return value of Adaptable::_adapter().
 - Reworking Adaptable & AdaptableTest to accept 'strategies' as a default configuration.
 - Refactoring Cache tests to conform to 'strategies' configuration option default.
 - Implementing basic session handling with Php session adapter.
 - Cleaning up Php session adapter.
 - Updating SessionTest with new 'strategies' default configuration option.
 - Adding tests for Session::key() in SessionTest. Making Memory adapter more portable across non-Apache webservers by using a UUID for unique key, instead of $_SERVER['UNIQUE_ID'] which requires a specific apache module.
 - Adding 'Adaptable::enabled()' for generalized adapter enablement checks.
 - Adding 'enabled()' method & tests to Apc, File, Memcache & Memory cache adapters.
 - Adding 'enabled()' method & tests for PHP session adapter.
 - Adding doc blocks for Php session adapter.
 - Removing duplicate test case for Session::key(). Making test more portable across non-apache webservers.
 - Adding skip() to CurlTest for PHP installations that were not compiled with curl support.
 - Removing default configuration of session.save_path from Php session adapter.
 - Adding skip() to CurlTest for PHP installations that were not compiled with curl support.
 - Removing default configuration of session.save_path from Php session adapter.
 - Adding doc blocks for test Dispatcher.
 - Adding doc blocks for Curl socket adapter.
 - Adding docs for Stream socket adapter. Adding in some missing return values.
 - Replacing various instances of array_key_exists with isset().
 - Adding dummy doc blocks for util\reflection\Coverage until it is fully implemented.
 - Adding doc blocks for util\reflection\Docblock
 - Adding more doc blocks & correcting existing ones to util\reflection\Inspector

**Matthew Harris (11):**

 - Adding some coverage for util\reflection\Docblock.
 - Adding short echo tag special syntax documentation.
 - Removing <?=@ template syntax, use <?php echo ... ?> to output unescaped text.
 - Update templates using `<?=@` to use plain `<?php echo `, updating some old templates to use proper view syntax.
 - Replacing hardcoded ':' path separator with PATH_SEPARATOR constant in Libraries::add() set_include_path().
 - Adding basic documentation for console.
 - Adding basic documentation for console.
 - Adding description text for console package.
 - Adding basic helper usage documentation.
 - Adding some test coverage for View class.
 - Adding updated documentation for short tag usage.

**Nate Abele (45):**

 - Updating `AdaptableTest` to account for automatic adapter configuration.
 - Adding fix for `Libraries::path()` so that class-location uses correct case, allowing `path()` to search for namespaces (directories) as well.
 - Adding documentation for `Libraries` and `Libraries::locate()`.
 - Adding documentation for `data\Connections`.
 - First pass at MongoDB adapter support. Allowed `Collection::first()` to be called without a filter.
 - Modified `Libraries::path()` so that case-sensitivity is only enforced when the `'dirs'` option is enabled.
 - Updating `Collection::to('array')` to cast objects to strings when they have no export-able properties.
 - Implementing `data\Source::configureClass()` so that model classes can be auto-configured. Refactored `Model::__init()`, began implementing `Model::save()`.
 - Adding cache optimization to `Libraries::load()`.
 - Optimizing `Libraries::path()`.
 - Implementing `Model::delete()`.
 - Implementing auto-configuration for MongoDB, `MongoDb::create()`. Refactoring `model\Document`.
 - Fixing issue with data sources overwriting model configuration, refactoring querying interface, adding basic integration test.
 - Moving `Logger` file adapter test to correct location.
 - Implementing basic cyclomatic complexity checker.
 - Updating `Inspector` test, adding exception handling. Updating docblock.
 - Adding `'include'` option for `reflection\Parser::tokenize()`.
 - Updating `Logger` test with new configuratiion option `'strategies'`.
 - Adding `$data` param to `data\Model::save()`, adding documentation, test coverage.
 - Adding fix for `__call()` in `Document` and `Record` when no model class is bound.
 - Adding Windows path fixes to `core\Libraries` and `test\filters\Coverage`.
 - Refactoring `core\Object::_filter()` and `core\StaticObject::_filter()`, creating `util\collection\Filters::run()`, adding docs and test coverage.
 - Fixing up whitespace and code formatting.
 - Adding fixes to `data\model\Document` and refactoring.
 - Adding fixes to `Document` and refactoring.
 - Fixing `Document` test.
 - Implementing small optimization for `Object::_init()`.
 - Refactoring `action\Request`, round 1.
 - Fixing typo in `RecordSet` re: ticket #6. Thanks 'oh4real'.
 - Fixing code formatting in `core\Libraries`.
 - Fixing code formatting, documenting objects in `lithium\data`, changing `'autoBuild'` setting in `Connections::add()` to `'autoCreate'`.
 - Adding documentation to `model\Document` and `source\MongoDb` classes. Small method refactorings, fixing broken test cases, updating `Document` test to reflect API changes.
 - Excluding pre-escaped content from `$this->...` from rewrite filter in template escaping.
 - Implementing custom regex sub-patterns in routes, fixes ticket #2.
 - Fixing docblock formatting.
 - Pushing additional documentation for `data\Model` and `collection\Filters`.
 - Small refactoring to `Libraries::path()` and `Libraries::locate()`, updated docblock.
 - Updating `Model` to set `'exists'` => `true` on returned record sets in `find()`.
 - Fixing complex type recognition in `Document` and finalization/connection closing, updating integration test.
 - Fixing issue in `Unit::_reportException()` where errors are reported by class loading.
 - Refactoring HTTP data/service layer, and updating CouchDB adapter.
 - Updating `MongoDb::delete()` to wrap `_id` keys in `MongoId` object instances.
 - Fixing method visibility of `Document::_isComplexType()`.
 - Correcting data access in `Document`.
 - Updating `Document` test with API changes.

**Niel Archer (3):**

 - Fixing testLibraryConfigAccess() so it can pass on Windows
 - Fixing last test in testTestsRun() so it will work on Windows.
 - Fixing one test in testIdentifierIntrospection() so it will work on Windows.

**alkemann (60):**

 - added empty docblocks to Connections
 - Docblock completion on data/Connections
 - inserted backticks around filenames
 - added @package to action, core and data classes
 - backpedal. removing all @package
 - added a dockblock to Controller::set()
 - class headers for Dispatcher, Request and Response
 - doc typo
 - first working test case for Document
 - passing find('first') for Document, failing $document->[field]
 - fixed items syntax for find('first') to pass all existing tests
 - test for Set field passing
 - testNoItems, testWithData and testExplicitSet implemented and passes
 - testSetMultiple implemented and passing
 - testing nested documents passes
 - splitting some lines over 100
 - testing rewind with no data and uninitialized
 - removed tests on interal logic for _hasInitialized
 - testing Document->get() causes Fatal error
 - removed test for non existing method
 - test for _update
 - testing array values covering __get()
 - Document tests for Array values
 - Document::__get() updated to pass test about array values
 - Document::__set() setting array values will differ on assoication or index Passes new spec, failing old testNestedSet
 - passing tests for Document::__call()
 - added several docblocks to Document
 - suggested implementation for passing set multiple nested children on Document
 - testing single nested array for Document::set
 - 100% coverage and 100% (52) passes for `Document`
 - failing test for nested array values for `Document`
 - failing boolean values for `Document`
 - fixing bug in `CouchDB` adapter to POST new records
 - optional $options for `CouchDB` delete()
 - added some docblocks to `Record` and `RecordSet`
 - failing tests for `QueryTest` for test() and model()
 - updated `Query` fields() to reset fields array and not set fields more than once
 - passing tests for `Query` fields()
 - limit() test for `Query`
 - page() tests for `Query`
 - removed a needless variable assignment in `QueryTest`
 - `Query` order() test
 - tests for record(), comment() and data() for `Query`
 - fixed typo in query array in `QueryTest`
 - tests for condition for `Query`
 - removed type() in `Query` and it's test case
 - overwrided conditions() and order() in `MockDatabase` for `QueryTest`
 - test export for `Query`
 - added dockblocks to all methods in `Query`
 - testing that model() in `Query` sets the table source
 - returned type() to `Query`
 - updated `Model` read() to return NULL if connection returns null
 - `CouchDB` to read()to return null if couch returns missing error
 - corrected a wrongly named variable in `RecordSet`
 - failing tests for `Model`::find('all') and find('first') with conditions. Tests require that you add 2 rows to the `mock_tests` table
 - expanded failing test for find(first for `Model`
 - updated `CouchDB` adapter to not demand 'rev' field in result
 - fix for typo in previews commit to `CouchDB`
 - fixed `CouchDB` result() to iterate over rows, merging value into one level
 - `CouchDB` result to include 'key' as requried by views

**gwoo (49):**

 - initial refactoring of http into service layer
 - ignoring Mock in classes without tests
 - fixing up some http service and source tests
 - adding initial CouchDb adapter
 - updating service class in Http source
 - updating couchdb adapter
 - couple other little bug fixes
 - updating couchdb, http, and service tests
 - udpatin couch and source test. only one fail now.
 - fixing extra depth in test menu
 - updating headers
 - updatin headers
 - adding some missing tests
 - updatin php session adapter
 - fixing assertIdentical
 - updating bootstrap
 - updating couchdb test
 - Fixed sequence so _env['PLATFORM'] is not overwritten when array is populated.
 - adding  more tests for \action\Request. removing cookie from session config until cookie is implemented. updating connections config.
 - fixing some tests in \action\Request
 - mico optimizations for Request. cast to array in \test\fitlers\Profiler
 - adding tests for chunked response
 - only json_encode post/put in CouchDb
 - Couch is passing integration tests. added some docs and updated \http\Request and \http\Service
 - fixing commands location in Libararies
 - fixing MockCouchService and adapter
 - fixing libraries locating subpaths
 - fixing bad test in Libraries
 - indeed..mocks
 - fixing bad test in Document
 - adding mocks and renaming some to use Mock<Test><Class> format
 - overriding __init in MockDocumentPost
 - adding some more mocks
 - fixing connection handling
 - adding multiple key support to document
 - updating request query string and Service connection
 - workign on couchdb finding all
 - fixing some couch
 - adding missing mock
 - removing some whitespace
 - fxing http test
 - updating couchdb to pass source integration test.
 - working on CouchDbTest
 - updating couchdb and test
 - couchdb test at 82%
 - Fixing dirname returning backslash instead of empty string
 - removing model tests that will updated in next version
 - windows compatibility in stream test
 - changing deep email validator to use getmxrr