home / releases / 0_8
**David Persson (20):**

 - Refactoring switch block in `Cldr` adapter.
 - Fixing code formatting in `Cldr` adapter.
 - Removing superfluous dependency on `Memory` adapter.
 - Updating `Gettext` test to use octal values instead of decimal ones.
 - Renaming catalog category `message.plural` to `message.pluralRule`.
 - Adding plural rule for English.
 - Removing `root` plural rule from bootstrap.
 - Renaming constants in `Gettext` adapter to be more descriptive.
 - Moving `Cldr` adapter to plugin.
 - Adding integration test for english plural rule.
 - Accounting for changes to `Command` ing g11n `Extract` command.
 - Updating displayed help in g11n `Extract` command.
 - Fixing copy 'n paste in g11n `Extract` command.
 - Removing fuzzy flag as pointed out by `msgfmt -c` check.
 - Shorten paths if possible when writing po/pot files.
 - Generated po/pot files are UTF-8 by default.
 - Removing reference in `Code` adapter. This confuses escaping elsewhere.
 - Updating `Code` adapter test with changes to item structure.
 - Enabling caching of message pages.
 - Merge `Catalog` configurations with ones setup by i.e. plugins.

**Jon Adams (11):**

 - Begin restyling test dashboard.
 - Continued styling of lithium unit test dashboard.
 - Fix for .test-content width+padding blowing out float.
 - CSS fix for horizontal scroll from drop shadow.
 - 'run all' buttonized and general unicode triangulation.
 - Shifted html, filters position, metrics tables polished.
 - Implemented check for required extensions via `::enabled()` for mysql and mongodb datasources/adapters.
 - `MongoDb::connect()` now expects exception to handle unavailable connection, with updated skiptest.
 - Refactored `MongoDb::connect()` to catch errors on bad db name as well; driver at about 78% test coverage.
 - Boosting test coverage for `net\http\Request`.
 - Updated test menu and test all button styles for better contrast / identification.

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

 - Updating `data\Model::create()` to allow passing of `$options`. Test added.
 - Explicitly setting 'test' environment during test dispatch cycle.
 - Removing spurious use `\lithium\core\Environment` from `AdaptableTest`.
 - Adding ability to pass configurations to strategies at instantiation time.
 - Adding start of HMAC strategy.
 - Allowing strategies with configurations to be specified by class name as well as by fully qualified namespace.
 - Adding strategies location path to `storage\Session`.
 - Adding on options param to `Adaptable::applyStrategies()`.
 - Implementing option passing for `applyStrategies()` in relevant `storage\Session` methods.
 - Updating `storage\Cache` and `storage\Session` for passing options to strategies.
 - Updating HMAC strategy with new option passing from `Adaptable::applyStrategies()`.
 - Making `SessionPhpTest` integration test a bit more robust.
 - Updating `tests\integration\storage\SessionPhpTest` to conform to coding standards.
 - Separating out session startup from `storage\session\adapter\Php::_init()`.
 - Sessions are now lazy-started for `storage\session\adapter\Php`.
 - Simplify logic in `storage\session\adapter\Php::key()`.
 - Additional integration tests.
 - Cleaning up `tests\integration\storage\SessionTest`.
 - Fixing syntax error.
 - Refactoring `Adaptable`. Changing conditions parameter to options in `Cache`. Fixing/cleaning up `Session`.

**Nate Abele (26):**

 - Fixing whitespace formatting and line length in test suite layout template.
 - Fixing display of layout and default stats on initial page load of test suite. Refactoring and simplifying template code.
 - Removing mock class for class that no longer exists.
 - Removing mock class for class that no longer exists.
 - Fixing coding standards formatting in `config/bootstrap/action.php`.
 - Modifying filter system to directly invoke closures, instead of using magic `__invoke()` method.
 - Updating `\core\StaticObject` from filter refactor.
 - Updating code example in `\net\http\Media` class docs.
 - Refactoring `\storage\Session::check()` to receive functions from adapters. Updating adapters accordingly.
 - Minor refactoring and performance optimization for `\util\Inflector`.
 - Cleaning up unnecessary casting.
 - Adding extra sanity checking to `\net\http\Media` in `encode()` and `decode()`.
 - Removing unnecessary array cast and tweaking code formatting in `Php` session storage adapter.
 - Fixing issues with specifying namespaced controller names in routes. Fixes #35.
 - Implementing persistent route parameters, refactored `\net\http\Router::connect()` to handle parameters more flexibly, added `Router::process()` as convenience method for handling `Request` objects.
 - Allowing the `$title` parameter in `\template\helper\Form::label()` to accept an array, so that complex label parameters can be more easily specified in `Form::field()`.
 - Adding test which verifies that `Form::label()` can accept a `null` title using array syntax.
 - Implementing support for HTML5 input elements (and arbitrary custom types) in `Form` helper using `__call()` method.
 - Fixing issue where `Form` helper creates `<form />` tags with invalid `method` attributes. Fixes ticket #46.
 - Updating test cases to match refactor.
 - Updating additional missed tests in `Form` helper.
 - Moving model configuration handling from `Model::__init()` to `Model::config()`.
 - Fixing issues with magic finders in `Model`, now supports `find<Type>By<Field>()` and `findBy<Field>()`, where `type` defaults to `'first'`.
 - Allowing `$options` from `Model::validates()` to `Validator::check()`.
 - Fixing issue in route compiling where use of repetition in regex fragments would not parse correctly.
 - Updating `test\GroupTest` to correspond with current G11n class list.

**Niel Archer (2):**

 - Fixing the menu output to use slash in uri instead of backslash (at least on Windows).
 - Another menu fix for paths on Windows.

**gwoo (6):**

 - Fixing #39, `Form::create()` was generating bad output.
 - Adding some filters for `\test\Dispatcher` and `\test\Report`, moving test templates into a namespace based on reporter name.
 - Refactoring how filters are handled
 - Changing bootstrap/test.php filter to intercept `Dispatcher::run()`.
 - Adding test coverage and fixes to `\test\Unit`.
 - Updating test suite handling. Re-Adding `\test\Controller` for browser based front end.

**Marke Hallowell (62):**

 - Made abstract Filter class abstract and moved default analyze behavior out of `Affected` and into `Filter`.
 - Fixed `Filter` documentation to refer to proper classname.
 - Updated documentation for `Filter::analyze()`.
 - Added test bootstrapper and call to load it in bootstrap.
 - Updated test Report render to prepare for elements.
 - Refactored Test execution to filter in test bootstrap and removed Test Controller
 - Added options to Report render for format type
 - Updated file structure for test templates
 - Moved test output format to object property for reuse
 - Updated the test html layout to render test filter templates and moved complexity output to filter
 - Moved Affected filter output into a template
 - Removed Affected filter's output method
 - Refactored Coverage filter to new template system
 - Refactored filter output into template system [#1 state:resolved]
 - Removed unnecessary 'filters' method from Report
 - Fixed Coverage filter template bug where empty data was being displayed
 - Updated Profiler filter assignment to be more descriptive
 - Removed unnecessary 'filters' method from Html Reporter
 - Removed output test from AfftecedTest
 - Commented out CurlTest assertion that assumes too much about server environment
 - Removed EOL from EOF of CurlTest
 - Refactored html test menu to temmplate. [#2 state:resolved]
 - Cleaned up test menu template a little.
 - Moved test stat reporting into template and completely removed Html Reporter from test suite [#6 state:resolved]
 - Fixed empty test run reporting color. Added 'Run All Tests' Button. Styled out test suite menu.
 - Removed shortags from test suite templates
 - Fixed menu error in strict mode.
 - Added menu level.
 - Updated test menu to include apps
 - Fixed broken path in test menu.
 - Removed short tags from stats template
 - Fixed stats template output.
 - Updating test layout to strict standards.
 - Fixed coverage filter template output
 - Fixed bug in Complexity filter result collection
 - Updated test suite to allow for 'Run All' and set up button.
 - Fixed bug in menu template for test suite.
 - Updated console Test command to render stats through Report
 - Added initial Console templates for Test command and updated command to render them.
 - Added filters method to Report to render all filters and updated html and console strategies to use it
 - Refactored complexity template to follow other's pattern
 - Added console template for Affected filter.
 - Added console template for Profiler filter.
 - Added Coverage filter.
 - Fixed minor bugs and finished console templates
 - Fixed bug in console test command where lowercase filter names were throwing errors.
 - Removed old Reporters and test cases.
 - Updating old test cases to run on updated Test Suite.
 - Added Coverage Filter test and test case to expose Filters bug.
 - Fixed bug running tests from browser.
 - Added test coverage for Report.
 - Fixed Bug when applying multiple test filters.
 - Updated Unit class to potentially break on fail (for Integration tests)
 - Added Base Integration test class and unit testing of said class.
 - Cleaning up Menu template.
 - Moved CoverageTest to be an Integration Test instead of a Unit Test
 - Setting up Filter Integration Test.
 - Fixed bug in Profiler Filter.
 - Fixed Complexity filter bug.
 - Updating Filter Test
 - Added Integration test for Filters.
 - Fixing Report Test bug.

**John David Anderson (2):**

 - Patching Libraries, fix suggested by Nate.
 - Adding test case for poorly named libraries.