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
where
clause. See the documentation and examples for more information. - A new parameter named
count
has been added to all query methods. When a query containscount=true
as a parameter, themeta
object in the response contains acount
field whose value is the total number of objects that matched the query. See the examples for more information. - The
page
andper_page
query parameters are no longer supported in ACS 1.1.5, and responses do not containpage
,per_page
,total_pages
, ortotal_results
fields. 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 start
with
^letter or ^digit.
- When creating an ACL the
public_read
andpublic_write
parameters 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. Thecount
field is returned in themeta
JSON response object, and not in theresponse
object.{
"meta"
: {
"code"
: 200,
"status"
:
"ok"
,
"method_name"
:
"objectsCount"
,
"count"
: 15
}
-
The response of
count
methods for all ACS objects now includes amethod_name
field, and thecount
field is included in themeta
object and not theresponse
object.{
"meta"
: {
"code"
: 200,
"status"
:
"ok"
,
"method_name"
:
"checkinsCount"
,
"count"
: 15
}
Bug fix
- Fixed an issue where subscribing a device using the
subscribe_token
method did not increment the application's push notifications count.