Published OnMay 11, 2026May 11, 2026
Ditto SDK v5: Built for Speed and Developer Experience
Automatic performance improvements, unified DQL across all platforms, and modern developer-friendly APIs make this the fastest, most extensively tested Ditto release yet.

Today, we're thrilled to announce Ditto SDK v5.0.0 — the most significant evolution of our edge sync platform since launch. This isn't just an incremental update. It's a complete rearchitecture that delivers faster performance, simpler APIs, and a modern foundation for building the next generation of edge applications.
After three years of powering mission-critical applications in retail, healthcare, logistics, and beyond, we've taken everything we've learned and rebuilt the SDK from the ground up.
Automatic performance improvements across queries and sync — your users notice the difference with zero code changes.
Clean initialization, schema-free iteration, platform-native APIs, and clearer error messages. Your team ships faster.
Query internal metrics and debug issues without external tools. Solve production problems in minutes, not hours.
One query language, cleaner APIs, 25% smaller SDK. Less code to maintain means more time building features.
Modern networking, platform modernization, extensible architecture. Built for the next 3+ years of edge computing.
AI-powered tools, backwards compatibility, and incremental rollout support. Deploy with confidence.
Performance improvements you'll actually notice — and you get them for free.
v5 introduces an intelligent query planner with automatic optimization. Your queries run faster without changing a single line of code.
v5 isn't just faster — it's fundamentally easier to work with. We've rebuilt the SDK around modern platform conventions and simplified every API surface.
Gone are the days of tangled initialization code mixing connection, authentication, and configuration logic. v5 introduces a clean, predictable initialization pattern with clear separation of concerns:
Type-safe configuration with compile-time validation means fewer runtime surprises. No more workaround patterns like disableCloudSync = true or updateTransportConfig hacks. Just clean, explicit, easy-to-reason-about setup.
// Configure
let config = DittoConfig(databaseId: "my-app")
.persistenceDirectory(path)
.minimumLogLevel(.info)
// Initialize
let ditto = try DittoFactory.create(config)
// Authenticate
ditto.auth.expirationHandler = { /* handle token refresh */ }
await ditto.auth.login(provider, token)
// Sync
await ditto.sync.start()
Clear, explicit, and simple to configure.
Ship features faster with field-level data sync that requires minimal schema definitions. Unlike v4's strict whole-object replacement semantics, v5 defaults to schema-free mode where changes merge intelligently at the field level.
Automatic type inference means you can iterate rapidly without writing complex schema migrations or managing database versions. Define schemas only where you need them (like attachments and counters), and let Ditto handle the rest.
Faster prototyping, quicker iteration cycles, and less time fighting your database. Start building immediately — add structure as your application evolves.
We've rebuilt each SDK to embrace modern platform conventions, making Ditto feel truly native on every ecosystem:
We've completely overhauled error reporting across the SDK. Clearer DQL parser errors, improved diagnostics, and more actionable error messages mean less time debugging and more time building.
When something goes wrong, you'll know exactly what happened and how to fix it. No more cryptic error codes. No more hunting through stack traces. Just clear, actionable guidance.
We've extended the ability to query your Ditto instance's internal state using DQL itself. v5 introduces virtual collections that expose runtime metrics, configuration, and performance data — no external tools, no log aggregation delays. Just write a DQL query and get the answers you need.
No more shipping special debug builds or waiting for log aggregation. Just write a DQL query and get the answers you need, right from within your application.
-- Query all active subscriptions
SELECT * FROM system:system_info
WHERE starts_with('local_subscriptions', key)
These virtual collections are local-only — never replicated across the mesh — making them perfect for monitoring, debugging, and understanding exactly what Ditto is doing in production.
Combine v5's virtual collections with the Ditto Portal's remote query feature to debug production issues from your desk. Query system:system_info on any device in your fleet in real-time — no SSH access, no app updates, no special debug builds.
Say goodbye to maintaining multiple query systems. Ditto v5 makes DQL the single data API across every platform — mobile, web, and server. We've removed the legacy query builder and retired 62+ deprecated APIs across 7 languages, leaving you with one powerful, unified interface.
If you know SQL, you already know DQL. Familiar SELECT, INSERT, UPDATE, and DELETE syntax means faster onboarding and zero context switching between platforms.
This isn't a "move fast and break things" release. This is production-ready, battle-tested infrastructure you can trust.
We know migrations can be daunting. That's why we've built tools and strategies to make the v4 → v5 transition as painless as possible.
Ready to experience the future of edge sync?




Servers & Cloud Optional.
All rights reserved.