Published OnMarch 28, 2025March 19, 2025

Introducing Ditto 4.10: More Power, More Control, and New Platform Support

Our latest Ditto 4.10 SDK release brings significant improvements, giving developers more flexibility, better performance, and support for new platforms.

Our latest Ditto 4.10 SDK release brings significant improvements, giving developers more flexibility, better performance, and support for new platforms. This update includes enhanced data sync controls, expanded DQL capabilities, and critical bug fixes—all aimed at making Ditto even more powerful for your applications.

To review the complete list of changes for each SDK see Release Notes.

New Platform Support: React Native Expo

Expo is the standard way developers build React Native apps, and with Ditto 4.10, we now support Expo’s Continuous Native Generation (CNG), reducing onboarding friction and making it easier for developers to integrate Ditto into Expo-managed projects.

For more information see React Native Install Guide.

New Capabilities

Fine-Grained Control Over User Collection Sync

With User Collection Sync Scopes, you now have greater control over how your data syncs from any given device. Whether you want collections to be local-only, sync only with the cloud, or sync only with nearby Small Peers, you can now configure this behavior with ease.

For more information see Configuring Collection Sync.

Multi-Threaded Store Observers Improve Performance Under Load

Modern applications often need to listen for and react to multiple data changes simultaneously. With Ditto 4.10, store observers now run on multiple threads by default on all native platforms, significantly improving performance for high-load applications.

Previously, all store observers ran on the same thread, which could cause delays in apps handling large data changes. Now, with multi-threaded execution, Ditto distributes observer workloads across multiple cores, ensuring smooth and efficient performance.

To get started with store observers see Reacting to Data Changes.

New DQL Enhancements

Ditto Query Language (DQL) has been expanded with new operators and methods, making querying even more powerful and intuitive. These additions provide better string filtering, enhanced object handling, and more control over batch operations.

Pattern Matching with LIKE

The LIKE operator now allows for pattern matching in string queries, making it easier to filter data based on partial matches.

SELECT * FROM my_collection WHERE some_field LIKE 'abc%'

For more information see DQL String Operators

Object Operators: Extract Keys & Values

Two new functions make working with JSON-like objects even easier:

object_keys(object) → Returns an array of all keys in an object.

object_values(object) → Returns an array of all values in an object

For more information see DQL Object Operators

LIMIT, OFFSET, & ORDER BY support with Mutations

DQL now supports batch updates and deletions with LIMIT, OFFSET, and ORDER BY in EVICT and UPDATE queries.

EVICT FROM users WHERE status = 'inactive' ORDER BY last_active DESC LIMIT 10

New Experimental Feature: Hot Restarting for Flutter (Preview)

For Flutter developers, hot restarting is an essential part of the development workflow, allowing for fast iteration, quicker debugging, and a more seamless developer experience. At Ditto, we recognize how important this is, and we’re excited to preview support for Hot Restarting in Ditto 4.10.

This experimental release is just the beginning—we’re actively working to refine Hot Restarting based on feedback. If you’re using Ditto with Flutter, we’d love to hear how it works for you!

To preview Hot Restarting see Flutter 4.10 Release Notes.

Bug Fixes & Quality Improvements

Ditto 4.10 isn’t just about new features—it also includes critical bug fixes and performance improvements to enhance stability and reliability.

  • Fixed: Linux BLE initialization errors, ensuring smoother startup.
  • Fixed: Android no longer crashes when system permissions are missing.
  • Improved: Authentication logging to better identify and troubleshoot errors.
  • Optimized: Sync performance to minimize the impact of evictions.
  • And many more behind-the-scenes improvements!

For the complete list of fixes and improvements for each SDK see Release Notes.

Getting Started

Ditto 4.10 is now available to all users! Start leveraging these powerful new features to enhance your sync performance, query capabilities, and platform integrations.

Explore our release notes for a full breakdown of changes.

New to Ditto? Sign up through the Ditto Portal and start building today.

We want to hear from you!

Your feedback helps us shape the future of Ditto. Try out the new features, and let us know what you think!

💬 Have questions or feedback? Connect with us on LinkedIn, fill out Contact Us Form, or reach out to Ditto’s Customer Support.

Thank you for your continued support—we can’t wait to see how you use Ditto to build the next generation of edge-native applications!

Read more
Product
Tutorial
April 24, 2025
Engineering with Expo: Expanding Our JavaScript SDK
by
Teodor Ciuraru
In this article, we’ll detail how we introduced Expo Development Builds support for Ditto React Native and how the new Expo plugin helps developers skip several manual setup steps that React Native CLI users typically face.
Updates
Product
April 22, 2025
Flutter for Web Reaches General Availability in Record Time
by
Rae McKelvey
As of Ditto Flutter SDK v4.10.1, Flutter for Web has reached General Availability. In October 2024, when we shipped 4.8, Ditto developers started asking if we could extend Ditto to support Flutter web apps – and we took that challenge to heart. With the GA, let's take a closer look at what's included today, some key considerations, and how you can get started today.