Azure App Service Team Blog

How the App Service team functions

Azure Mobile Apps Node.js SDK v4.0

Today, in our final Azure Mobile Apps release of the year, we are releasing a new version of the server-side Azure Mobile Apps Node.js SDK. It’s labelled v4.0 because of important breaking changes, but does not introduce any new features.

Breaking Changes

If dynamic schema was enabled, inserting an item with new columns would also create a deleted column which was unnecessary if the soft delete option was turned off for the table. With v4.0, the deleted column is not created when it is unnecessary. This may affect automated clean-up scripts that don’t take into account the soft delete setting on the table. (Issue #504)

If an update or delete was performed against soft-deleted records, the server would return a 409 HTTP status code. This was in contrast with the ASP.NET server that returned a 404 HTTP status code. The Node.js SDK has been updated to return a 404 HTTP static code. (Issue #497)

Finally, our documentation was out of line with our code with respect to paging options. Previously, the server would place a hard limit on the number of records returned (the pageSize option), despite the maxTop option being higher. The pageSize option now only affects the number of records returned if a $top expression is not provided, and the maximum number of records returned is correctly determined by the maxTop option. (Issue #480)

Other Fixes

An issue existed whereby a custom API whose access level was set to ‘authenticated’ would allow unauthenticated requests. This only affected apps where the access level was applied to the entire API and not individual methods within the API and who were also using a custom authentication scheme. Using the App Service Authentication / Authorization mitigated this issue. With the v4.0 release, this issue has been corrected. (Issue #514)

User Impact

Any user who is using the server via an Azure Mobile Apps client SDK should not be impacted by any of these changes. If you use the server directly through the OData interface, then you should review the changes carefully before upgrading.

As always, our team is ready to assist should you have questions. Please contact us through Azure Forums or Stack Overflow.