ACS 1.1.5 - 15 September 2014
The 1.1.5 release of Appcelerator Cloud Services includes the following new features and bug fixes.
New features and behavior changes
- New Paging Restriction on Queries — Previously, if a query matched 1 million records (for example)
ACS performed a sort and limit on those records in memory, which was highly
inefficient. There is now a "hard stop" on queries at 5000 records.
This means that if a query matches 1 million records, ACS will only look
at the first 5000, in random order, and then sort on them. To narrow down
query results, developers should now use range-based queries using a
whereclause. See the documentation and examples for more information. - A new parameter named
counthas been added to all query methods. When a query containscount=trueas a parameter, themetaobject in the response contains acountfield whose value is the total number of objects that matched the query. See the examples for more information. - The
pageandper_pagequery parameters are no longer supported in ACS 1.1.5, and responses do not containpage,per_page,total_pages, ortotal_resultsfields. Applications created with ACS 1.1.4 and earlier can continue to these parameters, but they will eventually be deprecated and removed. Developers are encouraged to migrate their applications to use the range-based queries available in ACS 1.1.5. - Batch delete — Batch delete of ACS objects is now performed asynchronously in a separate process, rather than immediately on method invocation.
- Deleted Objects and Dependencies — When an object is deleted that has dependencies, the dependent objects are not deleted. For instance, if you delete a Users object that had a Photos object specified as the user's primary photo, the corresponding Photos object is not deleted.
-
Wildcard regular expressions are now not allowed in query operations. For example, the ACS query
where="color": {"$regex" :"^.*b"}will result in the following error:This regex query is not supported, regex expression should startwith^letter or ^digit. - When creating an ACL the
public_readandpublic_writeparameters must now be strings -
The CustomObjects.count method has been modified to include the object type in the request (
objects/<object>/count.json, for example), and only returns the count for the specified type. Thecountfield is returned in themetaJSON response object, and not in theresponseobject.{"meta": {"code": 200,"status":"ok","method_name":"objectsCount","count": 15} -
The response of
countmethods for all ACS objects now includes amethod_namefield, and thecountfield is included in themetaobject and not theresponseobject.{"meta": {"code": 200,"status":"ok","method_name":"checkinsCount","count": 15}
Bug fix
- Fixed an issue where subscribing a device using the
subscribe_tokenmethod did not increment the application's push notifications count.