Schema option callback="(class::)method" added to xPDOObject::set()
xPDO 2.2.9-pl

Merge branch 'develop'

* develop:
  Bump version for 2.2.9-pl release
  Fix xPDOTest::getTableMeta() error (sqlite/sqlsrv)
  Bump version for 2.2.9-dev
  Wrong query statistic counting
  [#10183] Fix cache entry removal on xPDOObject::remove()
Update code docs, fix invalid constant
Disable phpdoc generation in build for now
Bump version for 2.3.0-alpha development
Add dependency metadata/methods to xPDOTransport

Provides baseline support for dependency metadata to be specified and tested against version constraints
Add changelog entry
Add dependency metadata/API to xPDOTransport

Merge remote-tracking branch 'origin/pr/16' into develop

* origin/pr/16:
  Add changelog entry
  Add dependency metadata/methods to xPDOTransport
Fix for deprecated preg_replace
Replace use of deprecated /e preg_replace modifier

Closes http://tracker.modx.com/issues/10056
Closes #17, #20, and #21

Merge remote-tracking branch 'origin/pr/21' into develop

* origin/pr/21:
  Fix for deprecated preg_replace
Replace reflection of PHP_SELF with SCRIPT_NAME in xPDO::log()

See http://bugs.modx.com/issues/10290 for details referenced from http://www.securityfocus.com/archive/1/529372
Fix xPDO::getCount() to work with queries containing group by

Closes modxcms/revolution#513
Resolve xPDO::parseBindings() error from /e modifier fix

Fixes related errors including xPDO::removeObject() errors
Reject xPDOQuery conditions with SQL injection attempts

Encountering a semi-colon or UNION keyword outside of quoted strings in an xPDOQuery condition triggers an xPDOException and causes the entire xPDOQuery to be effectively invalidated by adding an always false condition to the WHERE clause: 2=1
Fix bug with conditions referencing keys outside xPDOQuery::$_class

This problem was introduced in the last commit and will address modxcms/revolution#11203
Remove deprecated xPDO::getMicroTime() method

Use microtime(true), available since PHP 5.0.0
Allow schema to define callbacks for field

This is automatically applied when the set() method is called on the field the callback is defined for

Merge remote-tracking branch 'origin/pr/12' into develop

* origin/pr/12:
  Schema option callback="(class::)method" added to xPDOObject::set()
Fix notice introduce in previous commit

Plus simplified the logic around "generated" primary key fields — no longer depends on index="pk" being set on the schema
Allow recursive xPDOObject::remove() beyond one level

Still prevents circular dependency problems without preventing proper recursive functionality by keeping track of specific objects being removed from each class by primary key, rather than just excluding all objects by alias or class of already processed relations

Addresses modxcms/xpdo#23 and should resolve modxcms/revolution#11453
Proposal for silent failure validation