Docs Menu
Docs Home
/ /
Atlas App Services

Atlas App Services Changelog

On this page

  • 2024 Releases
  • 2023 Releases
  • 2022 Releases
  • 2021 Releases
  • New Apps can no longer enable GraphQL or Static Hosting. Apps that already have these features will continue to have access until March 2025.

  • Device Sync - Fixed bug where some destructive changes in push-pull were not being handled properly - Fixed bug where unlinking a data source with Sync enabled would crash the UI - Fixed bug where failing to get Sync state would incorrectly show Sync as terminated

  • GraphQL and Static Hosting Deprecation

    • Apps that use GraphQL or Static Hosting will now display banners in their App Services UI alerting customers of both the GraphQL and Static Hosting deprecations. For more information, refer to the Migrate Static Hosting and GraphQL From App Services page.

    • The GraphQL template app (web.graphql.todo) is no longer available when creating a new app through the App Services UI, CLI, or Admin API.

  • Fixed bug where disabled Triggers were not resuming properly after being enabled.

  • Fixed bug where the Change Origin of Trigger deployments made in the Data Services UI were registered as Admin API instead of Atlas UI.

  • Edge Server

    • You can now track the bootstrap progress percentage in the status section of the Edge Server local UI.

  • Enabling automatic deployment allows App Services to automatically push a copy of your App to your designated repository, making the Export your application and upload to GitHub section in the Deployment screen unnecessary. The section is removed and the description under the Enable Automatic Deployment section is updated to make this behavior clear.

  • Deployment logs for your application now record the user_id for Admin API and CLI requests.

  • Fixed bug where match expressions for Triggers were converted to incorrect formats if they contained a regular expression ($regex).

  • App Services Function names can now include hyphens (-).

  • When a free or shared Atlas cluster exceeds 500 collections, the max number of collections for these tiers, you will get an error message. For more information on the operational limits of free or shared clusters, see the Free and Shared Cluster Operational Limits.

  • Version metadata for Partition-Based Sync Apps will now be pruned if the deployment version is older than 60 days. For more information on viewing previous App deployments, see Deployment History.

  • Removed the option to change from Flexible Sync to Partition-Based Sync mode. The Sync Types field in the Device Sync configuration screen now only displays if the cluster is associated with a Partition-Based Sync App. Then, the option to switch sync modes will be left available, as we recommend migrating to Flexible Sync.

  • Adding or removing collections for Data Ingest is a destructive change that requires restarting Sync. In the Device Sync configuration screen, a modal now appears to allow you to terminate and restart Sync when confirming additions or removals for Data Ingest collections.

  • Fixed bug where revoking all of a user's current sessions did not immediately disconnect the user. Now, a user cannot stay connected or sync after all sessions are revoked.

  • Enable Atlas Events: App Services Apps react to changes made in their linked clusters.

    • On cluster deletion, Apps delete datasources and all resources linked to the datasources if they are connected to the deleted cluster.

    • When a user updates a cluster (for example, an instance size change), the next usage of a MongoDB client with the cluster will have a start time of 5 seconds or longer, due to refreshing client connection details.

  • CLI Improvements

    • The CLI defaults to a local deployment model on App creation.

    • The push command with a --dry-run flag now prints out the App diff.

    • The CLI command, appservices app diff, now returns the App diff even when there is an error, such as a breaking change.

  • Edge Server

    • Fix incorrect prompt for connection strings that included a trailing slash. Atlas Device SDK clients expect no trailing slash in the connection string.

    • MongDB Compass now correctly shows the count of documents when connecting to an Edge Wire Protocol Server.

  • To make billing more intuitive, App Services usage is charged at a daily instead of monthly rate. Free tier App limits are updated to reflect the new daily model. For more information, see the Billing page.

  • Datasource client configuration documents missing the cluster_size field are updated to include the field.

  • If a Function name contains incorrect formatting upon creation of the Function, the Function name now appears in the validation error message for easy identification.

  • Timeseries collections not using data ingest are sync incompatible. Fixed error where Edge Server or Sync instances would attempt to generate schemas for sync-incompatible time series collections.

  • Support for nested collections in Mixed properties is now available. To learn more, refer to Collections in Mixed Properties.

  • Improvements to the Function Editor for all Apps, including the following changes:

    • A new Format Code button to format function code.

    • A new Clear & Run button that replaces the Clear Result button.

    • Autocomplete for common functionalities and App Services context.

  • App error logs now include GraphQL failures.

  • Users can no longer disable client max offline time. Users can continue to increase or decrease the number of days for client max offline time where necessary.

  • Device Sync apps with an indexed queryable field now support schemas that do not contain the indexed queryable field. Previously, the indexed queryable field was required to appear in the schemas of all of your Sync collections.

  • Fixed Edge Server authentication for Email/Password authentication with the C++ driver.

  • Client requests that are successfully authenticated through Private Link do not get checked against the app's IP Access List.

  • The Device Sync Dashboard shows a more up-to-date time for Last Cluster Event Processed.

  • In the Edge Server dashboard, the Last Connection time is shown in more readable time units rather than as a timestamp.

  • The App Services CLI is now supported on Linux Arm64 machines.

  • App Services CLI

    • Added the new functions list command to allow users to list the functions in their app.

    • Added the new --use-local-app flag to functions run command to run the local version of a function instead of the deployed version.

    • Added new --limit flag to users list command to determine the number of users to show.

    • The App Services CLI is now available for arm64 environments.

  • Improved user caching for authentication provider user metadata. For more information, refer to notes in Authentication Provider Metadata.

  • There are now three types of private endpoints: general, sync, and legacy. Legacy endpoints must migrate to either general or sync. For more information, refer to Use a VPC Private Endpoint.

  • For the CLI, added a prompt to pick from available app users when using the --user flag.

  • Updated C++ SDK Model generation to support sets and remove experimental namespace.

  • New applications now use the $changeStreamSplitLargeEvent stage for large events that exceed 16 MB in a change stream.

  • UI Improvements

    • Added a schema version selector to the Sync Models page for SDK object models in the UI.

    • Improved the App Services UI function editor with new features such as dark mode and auto-formatting.

    • Fixed Google Cloud Provider us-central1 label to read "Iowa" instead of "Ohio" in App Services Deployment Region settings.

  • Apps on the App Services UI homepage can now be sorted in alphabetical order.

  • The Service Name for a data source now defaults to the Cluster Name in the CLI. The prompt to choose a Service Name has been removed in the CLI.

  • Increased limit for length of a JWT token from 2048 to 4096 characters.

  • Created a new CLI command,``users count``, to display the total number of users for an app.

  • Fixed error where scheduled triggers would occassionally stop working without error.

  • In the UI, fixed how enabling automatic deployment for an empty repository from the Deployment Configuration page can erase changes made.

  • Updated authentication subscription function template by making the function async and awaiting results.

  • Updated ErrOperationCanceled error message to be more descriptive where appropriate.

  • Edge Server now respects client reset message from Cloud Sync Servers.

  • Created a new endpoint to link multiple data sources to an existing App.

  • Updated the timeout variable, maxTimeMS, to accept float64 for db.aggregate and db.coll.aggregate commands.

  • Added a check to ensure custom user data is not enabled before deleting a datasource. If custom user data is enabled, the user will get a 400 error.

  • If Sync is paused or terminated, schema version information will still be shown in App Services UI.

  • Fixed error where an empty App would sometimes fails if mutation custom resolvers were pushed to the App.

  • Fixed error to allow custom user data changes to be parsed when pushing or pulling an app even if custom user data is disabled.

  • Configured custom error handlers for Database Triggers sending events to AWS EventBridge.

  • Created new trigger error handler log type in support of new AWS EventBridge custom error handling for Database Triggers.

  • Atlas Data Services log pages now use your timezone of preference.

  • Added support for dictionaries in Dart object model generation.

  • Fixed error where Apps linked to serverless datasources were incorrectly able to enable Device Sync.

  • Timestamps displayed in the App Services UI (e.g. log messages, deployment histories) now include the timezone.

  • GET methods for the App Services Admin API now return full endpoints instead of partial endpoints.

  • Raised the default websocket read limit from 16 MB to 20 MB. Added an app-level config setting to raise the read limit if needed.

  • Added an App Services Admin API endpoint to trigger a client reset.

  • Added Edge Server support for multi-architecture builds for Raspberry Pi.

  • Increased max refresh token expiration for user sessions from 180 days to 5 years. For information about configuring refresh token expiration, refer to Configure Refresh Token Expiration.

  • Released the new services.cloud.mongodb.com domain. App Services UI web visits, Admin API requests, and Client API requests through the Atlas Device SDKs can now begin migrating from realm.mongodb.com to the new domain. For more information, refer to Domain Migration.

  • Requests authenticated through the Custom JWT provider now update the user's profile data (e.g. context.user.data) based on information from the JWT.

  • Updated App Services schema UI to display the difference between a 64-bit long and 32-bit integer.

  • Disallowed creating schemas with invalid database or collection names, such as names including spaces.

  • MongoDB aggregation operations no longer specify a default value for allowDiskUse.

  • Added integer as a supported type for indexed queryable fields.

  • Device Sync permissions now properly union a read filter set to false with its corresponding write filter.

  • Included a prepended forward slash (/) for endpoint routes in the App Services "Create HTTPS Endpoint" UI.

  • Added support for writing functions to nested folders using the App Services CLI.

  • Released Dark Mode for the App Services UI. To enable Dark Mode, open your Atlas user preferences and set the Appearance to Dark Mode.

  • Added a link to the UI to download the App Services CLI.

  • Disabled the Partion-Based Sync UI for new Apps. Existing Apps will continue to see both Partition-Based Sync and Flexible Sync configuration screens until the Partition-Based Sync deprecation date.

  • Fixed syntax highlighting for C++ generated models.

  • Added an exponential backoff to AWS EventBridge retry requests.

  • Updated product UI and documentation to use the new appservices CLI instead of realm-cli.

  • Added support for triggers that watch all collections in a database and deployment.

  • Added Device Sync model generation for the Realm C++ Beta SDK.

  • Apps with Private Endpoints enabled can now be configured to allow requests that originate from outside of the VPC.

  • No longer creates a pending user account if a user tries to register a new email/password identity with an invalid email address.

  • App Services now prevents you from deleting a data source that has an active trigger, log forwarder, sync, or other event subscription.

  • Device Sync now supports geographic queries on GeoJSON Point fields.

  • Device Sync clients trying to bootstrap with a bundled realm that has become invalidated by a termination are now sent a client reset command.

  • Device Sync developer mode now gracefully handles breaking schema changes. This only applies to new Apps.

  • Device Sync performance thresholds now scale with the size of the linked cluster.

  • Triggers and Device Sync now recover faster from transient issues.

  • Added support for programmatic informational CLI announcements.

  • Added support for show dbs and show collections on the Atlas Edge Server.

  • UI Improvements

    • Trigger match and project expressions maintain formatting and are prettified on reload.

    • Added support for creating relationships to fields within a list of embedded objects in the UI.

    • Fixed a looping UI error state on the schema page.

  • The schema generator now outputs correct Kotlin SDK models.

  • Logs for AWS EventBridge triggers now include the document size and ID.

  • Added support for indexed queryable fields in Device Sync.

  • Raised the Atlas Function memory limit from 256MB to 350MB.

  • New Apps are automatically opted into Flexible Sync and cannot enable Partion-Based Sync.

  • The UI now displays a confirmation dialog when you delete an application. This dialog includes the application name and a warning that the deletion is permanent. This change helps prevent accidental deletions.

  • You can now disable GraphQL introspection queries in your GraphQL API configuration.

  • Added Jakarta, Cape Town, Melbourne, Hyderabad, UAE, and Zurich to the supported regions for EventBridge triggers in the Atlas UI.

  • Added support for multi-lined secrets in the secret input in the UI.

  • Added support for the maxTimeMS option to aggregation pipelines in Functions.

  • Added support for functions in nested directories in automatic GitHub deployments.

  • The following kinds of requests are no longer included in billing usage metrics:

    • Flexible sync downloads that contain no changesets

    • Requests that fail for transient issues like disconnects

  • Custom User Data ID fields may now contain string or ObjectId values.

  • Extended third-party services deprecation date to November 1, 2024.

  • Substantially increased the speed of static hosting draft creation & deployment.

  • Renamed "Tiered Device Sync" to "Device Sync Edge Server"

  • Added "Device Sync" to the left side navigation in the Atlas UI

  • Increased function execution timeout from 270 seconds to 300 seconds.

  • Added support for automatically migrating a Device Sync App from Partition-Based Sync to Flexible Sync. To learn more, see Migrate Device Sync Modes.

  • App cards in the Atlas UI are now ordered by Last Updated time.

  • Fixed an issue where a Device Sync changeset missing required fields could cause temporary JSON schema errors in the underlying cluster.

  • Added support for axios@^1.3.6 in Functions.

  • Increased function execution timeout from 240 seconds to 270 seconds.

  • Updated the Scheduled Trigger configuration UI to use the timezone and date format specified in the user's Atlas preferences.

  • Updated the Realm SDK model generator to output C# models based on source generators with nullable type annotations.

  • Removed the permissions section from the Device Sync configuration UI. Instead, define permissions from the unified Rules screen.

  • The GraphQL API will now emit a warning if multiple schemas use the same title value.

  • Renamed "Asymmetric Sync" to "Data Ingest" in the UI

  • Add additional currentPasswordValid parameter to password reset function.

  • Update Atlas Device Sync with Flexible Sync to use the same rules and permissions as other services. This update is currently only applied to newly created Apps. On the week of 26 February, 2023, existing apps will have their Flexible Sync specific-rules migrated to use the same rules and permissions as other services.

  • Support App Services deployments in the following GCP regions:

    • Ohio (us-central1)

    • Virginia (us-east4)

    • Oregon (us-west1)

    • Belgium (europe-west1)

    • Mumbai (asia-south1)

  • Added support for database.getCollectionNames() in Atlas Functions.

  • Introduced a refreshed UI for Rules.

  • Introduced option to encode HTTPS Endpoint responses as EJSON or JSON.

  • Added support for serverless Atlas instances as data sources. Serverless instances do not yet support Triggers or Sync.

  • Introduced ability to accept null values as optional types in Realm Schema.

  • Added ability to download logs from the UI.

  • Added Flexible Sync support for queries using BETWEEN and the string operators BEGINSWITH, ENDSWITH, CONTAINS.

  • Added Flexible Sync support for queries on arrays of primitives.

  • Performance improvements for Functions, particularly aimed at decreasing the runtime for those dependencies that make external requests.

  • MongoDB Atlas moved to Let's Encrypt as the new Certificate Authority for TLS certificates for all App Services.

  • Visually refreshed the Schema UI.

  • Introduced Log Forwarding, which automatically stores your application's server-side logs in a MongoDB collection or sends them to an external service.

  • Requests blocked by an application's IP Access List no longer count towards billing.

  • Increased request limit from 3000 requests per second to 5000 requests per second.

  • Allows users to store non-Realm files in the App Services app structure.

  • Updates to documents that do not match an application's schema can now enable Atlas Device Sync for those documents.

  • Introduced the ability to export and re-deploy the most recent 25 deploys.

  • Added JWT Authentication support for JWTs with multiple audiences.

  • Introduced support for bi-directional GitHub Autodeploy.

  • Added the ability to link a Github repository on application create.

  • Improves performance of client requests to app servers.

  • Fixes an issue where aggregation pipelines did not support the $set operator.

  • Reduces "Invalid Session" logs.

Back

GitHub Service Snippets