We're excited to share that September saw our highest-ever number of new users sign up for PowerSync! We’re proud to be accelerating the adoption of local-first software, which we believe is fundamentally changing apps for the better. Here are some more highlights from the last month:
MongoDB Now Supported As Source Database
In September, MongoDB announced that Atlas Device Sync and related services would be deprecated. Almost immediately, we heard from users who wanted to know if migrating to PowerSync was an option. While some were fine with moving their source database to Postgres, many wanted to keep their existing MongoDB backend database in place.
Thanks to PowerSync’s modular architecture and our decade-plus experience working with MongoDB, we managed to ship a MongoDB module a few days after the announcement. The module (currently in alpha) allows the PowerSync Service to connect to MongoDB as a source database, and is a step towards our vision of being a stack-agnostic sync engine.
See the MongoDB Atlas Device Sync Migration Guide
React Native Web Support Released
React Native users can now use React Native Web for a unified codebase across mobile and web. Introduced in version 1.8.0 of our JS/web client SDK and version 1.12.1 of our RN client SDK.
Swift Client SDK In Open Alpha
We’ve moved from a private to open alpha with the latest release of our Swift client SDK, meaning it can be used to validate whether PowerSync is a good fit for your project. We used SKIE for the alpha but we’ve decided to rebuild this SDK in native Swift as we move closer to our V1 release, so therefore we do not recommend production use at this time.
KMP Client SDK Now In Beta
The beta release of our Kotlin Multiplatform SDK means that it is now considered suitable for production use, if you've tested your use cases. The release includes various improvements, many of which stemmed from suggestions and contributions from the PowerSync community.
PowerSync Cloud Team Plan Launched
We introduced the Team subscription plan for developer teams working on projects that require advanced features and support guarantees, but who prefer a self-service option rather than negotiating a custom Enterprise plan.
The Team plan is a usage-based plan and, like all our plans, is applied on an organization level, meaning that plan features are enabled for all projects within an organization.
[New Demo Apps] Optional Sync / Starting Local-Only
Allowing users to access app features without having to sign up for an account is an increasingly common design pattern. It’s compelling because it makes it as easy as possible for users to adopt an app, while respecting user data privacy and setting up an upgrade path for users who want to sync data with the cloud.
This new example implementation uses local-only tables to persist data before a user is registered / signed in, and optionally syncs this data with the backend at a later stage.
CLI Improvements With V0.6.0
We shipped several improvements to the PowerSync CLI, many of which are intended to better support automation and CI/CD workflows. Here are two examples:
- IMPROVED: Interactive commands are now also available as flags, e.g. [.inline-code-snippet]instance create -n postgres -p your-password -u postgres -h your-hostname[.inline-code-snippet]
- ADDED: Ability to generate developer tokens from the CLI: [.inline-code-snippet]instance generate-dev-token -u my-user-id -e 43200[.inline-code-snippet]
[New Demo App] Native Android Kotlin
This demo app shows how our Kotlin Multiplatform client SDK's Android package can be used in a native Android Kotlin project.
Thanks to @joseph for spurring us on!
[New Tutorial] PowerSync and Supabase: Just the Basics
This video covers 7 distinct developer benefits of local-first development.This new no-frills tutorial is pure HTML, CSS and JS and is a contribution from community member Zane Thomas who writes:
“...I wanted to get started with the web SDK in an empty scaffold and build up from there. This post will take you step-by-step through what I learned about how to set up and use PowerSync together with Supabase.”
H/T @michael who helped us understand the need for this.
Community Focus
High-fives to community members Dieter_be, MrLightful and HeinrichvonStein for their contributions this month. We had pull requests for adding polish on our Django To-Do list app, a small fix on our Yjs demo, and a bundling fix on our React Native To-Do list app.
Patrik Wassberg joined us to discuss his app for managing fishing competitions.
Developer Case Study: WorkWeek
Tristan Drummond and Gideon Boshoff joined us to discuss their time tracking app, WorkWeek.
Developer Case Study: PrayerMate
Andy Geers joined us to discuss his prayer organizing app, PrayerMate.
That's it for the September update, happy coding!