bugfix, aliased helper method callback was broken
add Curl wrapper; add Dataset for returning results from ServiceAdapterHelpers
move import/export from service to adapter, duh!
bugfix form has errors
clean /r
add methods loadFile() and loadDir() to load files/dirs not related to environment config - for instance, migrations
new methods setDefaultWriteId() and _getPreferredConnection() - defaults to write if no connectionId specified and is within transaction; new methods readError() and writeError() default to default connection on that mode; using _getPreferredConnection() on every read method; refactor transactions, now storing transactions per connectionId
new migration methods
bugifx ServiceAdapterProviderTable::sqlUpdate() removing criteria fields from field list
bugfix ServiceAdapterProviderTable::sqlUpdate(), remove non-aliased fields from update if used as criteria
upgrade deploy, store migrations with comment and data result
fix ServiceAdapterOperationTable new method addFilter() and addFilters() for adding fitlers with aliase/expressions
fix ServiceAdapterProviderTable sqlSelect() - add =? to key expressions if missing; remove from filters if used in keys
cleanup debug logs
upgrade ServiceBase:createModel() conditionally populate
fix ValidationRequired, do not error if value is_numeric - a value of 0 was always an error
fix ServiceAdapterProviderTable, check for missing keys in update
upgrade FormBase add method addData() to inject moar data in a form
better error handling
add default value for ServiceBase::getHelper()