# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors

- Deprecated Interfaces
  Interface and Description
  com.google.appengine.api.backends.BackendService
  com.google.appengine.api.datastore.DatastoreConfig Use `DatastoreServiceConfig` instead.

- Deprecated Fields
  Field and Description
  com.google.appengine.api.capabilities.Capability.BLOBSTORE This service will always be reported as being available.
  com.google.appengine.api.capabilities.Capability.DATASTORE This service will always be reported as being available. If
  com.google.appengine.api.datastore.DatastoreConfig.DEFAULT Use `DatastoreServiceConfig` instead.
  com.google.appengine.api.datastore.FetchOptions.DEFAULT_CHUNK_SIZE Instead of using DEFAULT_CHUNK_SIZE, do not specify a chunk size.
  com.google.appengine.api.utils.SystemProperty.instanceReplicaId Use `ModulesService.getCurrentInstanceId()`
  com.google.appengine.api.datastore.Query.KIND_METADATA_KIND
  com.google.appengine.api.datastore.Query.NAMESPACE_METADATA_KIND
  com.google.appengine.api.datastore.Query.PROPERTY_METADATA_KIND
  com.google.appengine.api.images.ImagesService.SERVING_CROP_SIZES
  com.google.appengine.api.images.ImagesService.SERVING_SIZES

- Deprecated Methods
  Method and Description
  com.google.appengine.api.datastore.Query.addFilter(String, Query.FilterOperator, Object) Use `Query.setFilter(Filter)`
  com.google.appengine.api.datastore.TransactionOptions.Builder.allowMultipleEntityGroups(boolean)
  com.google.appengine.api.datastore.TransactionOptions.allowsMultipleEntityGroups()
  com.google.appengine.api.datastore.TransactionOptions.clearMultipleEntityGroups()
  com.google.appengine.api.datastore.PreparedQuery.countEntities() Use `PreparedQuery.countEntities(FetchOptions)` instead. Calling this function imposes a maximum result limit of 1000.
  com.google.appengine.api.users.UserService.createLoginURL(String, String, String, Set<String>) Use of federatedIdentity is no longer supported. Please change calls to a method that does not take the parameter.
  com.google.appengine.api.datastore.FetchOptions.cursor(Cursor) use `FetchOptions.startCursor` instead.
  com.google.appengine.api.log.RequestLogs.getApiMcycles() This value is no longer meaningful.
  com.google.appengine.api.quota.QuotaService.getApiTimeInMegaCycles() This value is no longer meaningful.
  com.google.appengine.api.datastore.FetchOptions.getCursor() use `FetchOptions.getStartCursor()` instead
  com.google.appengine.api.datastore.DatastoreServiceFactory.getDatastoreService(DatastoreConfig) Use `DatastoreServiceFactory.getDatastoreService(DatastoreServiceConfig)` instead.
  com.google.appengine.api.datastore.DatastoreServiceFactory.getDefaultDatastoreConfig() Use `DatastoreServiceConfig.Builder.withDefaults()` instead.
  com.google.appengine.api.datastore.Query.getFilterPredicates() Use `Query.setFilter(Filter)` and `Query.getFilter()` instead
  com.google.appengine.api.datastore.DatastoreConfig.getImplicitTransactionManagementPolicy() Use `DatastoreServiceConfig.getImplicitTransactionManagementPolicy()`
  com.google.appengine.api.memcache.ErrorHandlers.getLogAndContinue(Level) Use `ErrorHandlers.getConsistentLogAndContinue(Level)` instead
  com.google.appengine.api.oauth.OAuthService.getOAuthConsumerKey() OAuth1 is no longer supported
  com.google.apphosting.api.ApiProxy.Environment.getRequestNamespace() Use `NamespaceManager`.getGoogleAppsNamespace()
  com.google.appengine.api.search.ISearchServiceFactory.getSearchService(String) Use `ISearchServiceFactory.getSearchService(SearchServiceConfig)`
  com.google.appengine.api.search.SearchServiceFactory.getSearchService(String) Use `SearchServiceFactory.getSearchService(SearchServiceConfig)`
  com.google.appengine.api.images.ImagesService.getServingUrl(BlobKey) Replaced by `ImagesService.getServingUrl(ServingUrlOptions)`.
  com.google.appengine.api.images.ImagesService.getServingUrl(BlobKey, boolean) Replaced by `ImagesService.getServingUrl(ServingUrlOptions)`.
  com.google.appengine.api.images.ImagesService.getServingUrl(BlobKey, int, boolean) Replaced by `ImagesService.getServingUrl(ServingUrlOptions)`.
  com.google.appengine.api.images.ImagesService.getServingUrl(BlobKey, int, boolean, boolean) Replaced by `ImagesService.getServingUrl(ServingUrlOptions)`.
  com.google.appengine.api.search.ScoredDocument.getSortScores() Use an explicit `FieldExpression` in your `QueryOptions` instead.
  com.google.appengine.api.blobstore.BlobstoreService.getUploadedBlobs(HttpServletRequest) Use `BlobstoreService.getUploads(HttpServletRequest)` instead. Note that getUploadedBlobs does not handle cases where blobs have been uploaded using the multiple="true" attribute of the file input form element.
  com.google.appengine.api.taskqueue.QueueConstants.maxTaskSizeBytes() Use `QueueConstants.maxPushTaskSizeBytes()`
  com.google.appengine.api.datastore.TransactionOptions.multipleEntityGroups(boolean)
  com.google.appengine.api.datastore.Cursor.reverse() It is no longer necessary to call `Cursor.reverse()` on cursors. A cursor returned by a query may also be used in the query returned by `Query.reverse()`.
  com.google.appengine.api.memcache.MemcacheService.setNamespace(String) use `MemcacheServiceFactory.getMemcacheService(String)` instead.
  com.google.appengine.api.datastore.FetchOptions.Builder.withCursor(Cursor) use `FetchOptions.Builder.withStartCursor(com.google.appengine.api.datastore.Cursor)` instead.

- Deprecated Constructors
  Constructor and Description
  com.google.appengine.api.datastore.DatastoreServiceFactory() Exposed by accident, do not instantiate.
  com.google.apphosting.api.ApiProxy.LogRecord(ApiProxy.LogRecord.Level, long, String, Throwable) Prefer the constructor that takes a StackTraceElement to identify the source location.
  com.google.appengine.api.taskqueue.TaskHandle(String, String, long) Use `TaskHandle.TaskHandle(TaskOptions, String)`